WEB安全测试资格赛wpwp(write up,解题思路)
本帖最后由 北林兮 于 2017-6-16 10:55 编辑WEB安全测试资格赛wp(write up,解题思路)
http://www.52pojie.cn/forum.php?mod=image&aid=891672&size=300x300&key=310a4e344e4e413a&nocache=yes&type=fixnone
这次资格赛的题目前两道还是蛮简单的,所以参赛资格很容易就拿到了。
总共三道题目,第一道考POST提交数据,第二道考SQL注入攻击和MySQL数据库特性,第三道考文件上传。
第一题
打开网页,看到页面上有提示,那就直接提交呗
http://www.52pojie.cn/forum.php?mod=image&aid=891673&size=300x300&key=f88e4a11f9c54914&nocache=yes&type=fixnone
http://www.52pojie.cn/forum.php?mod=image&aid=891674&size=300x300&key=8b39aa63cfa3b8b6&nocache=yes&type=fixnone
提交测试,提示post的参数要大于10位
http://www.52pojie.cn/forum.php?mod=image&aid=891675&size=300x300&key=043bb6f900976eef&nocache=yes&type=fixnoneget flaghttp://www.52pojie.cn/forum.php?mod=image&aid=891676&size=300x300&key=3aaa64194fac72c1&nocache=yes&type=fixnone
总结:没啥说的,完全语文理解+脑洞题-。-
第二题
http://www.52pojie.cn/forum.php?mod=image&aid=891677&size=300x300&key=df1f8272a6486c8c&nocache=yes&type=fixnone
切到题目页面,看到有搜索框,想到XSS和SQL注入,看题目感觉SQL注入是最可能的
http://www.52pojie.cn/forum.php?mod=image&aid=891678&size=300x300&key=7ce99db8fd51fa4b&nocache=yes&type=fixnone
先构建一条payload,提示输入不正确
http://www.52pojie.cn/forum.php?mod=image&aid=891679&size=300x300&key=68aef82dabf1f091&nocache=yes&type=fixnone
http://www.52pojie.cn/forum.php?mod=image&aid=891680&size=300x300&key=f6a250fdb1934c7f&nocache=yes&type=fixnone
看网页源代码,找到一串js代码过滤了很多特殊字符,然而都是在前端过滤掉的,绕过就好了呗
http://www.52pojie.cn/forum.php?mod=image&aid=891681&size=300x300&key=b0f90f97c366ac96&nocache=yes&type=fixnone
浏览器F12看到提交了两个参数,然而不会这么容易就拿到flag,提交了之后啥也没出现
http://www.52pojie.cn/forum.php?mod=image&aid=891682&size=300x300&key=b06a90646309b929&nocache=yes&type=fixnone
http://www.52pojie.cn/forum.php?mod=image&aid=891683&size=300x300&key=6fea5644332df0fe&nocache=yes&type=fixnone突然注意到服务器用的是Nginx,PHP+Nginx+MySQL简直是标配嘛
这里就用到了MySQL自带的一个库:information_schema,这个库里存放着当前数据库里所有的数据库的信息,
其中SCHEMATA这个表里放着当前所有的数据库名,数据库编码等信息,TABLES这个表里放着当前所有数据库的所有表信息,
COLUMNS这个表里放着当前所有表的字段信息http://www.52pojie.cn/forum.php?mod=image&aid=891684&size=300x300&key=1261784ac1e14ea6&nocache=yes&type=fixnone
先获取到当前数据库里的字段数,当测试数小于等于数据库字段数是时返回正常,
二分法很快就得出当前数据库字段数为3
http://www.52pojie.cn/forum.php?mod=image&aid=891685&size=300x300&key=eb67ea5ad0d0797d&nocache=yes&type=fixnone
图1
http://www.52pojie.cn/forum.php?mod=image&aid=891686&size=300x300&key=71dbf5c84b6bada2&nocache=yes&type=fixnone
图2
http://www.52pojie.cn/forum.php?mod=image&aid=891687&size=300x300&key=64db3b8064e0b732&nocache=yes&type=fixnone
图3
测试出来之后,构建payload拿到各数据库名
http://www.52pojie.cn/forum.php?mod=image&aid=891688&size=300x300&key=ddcde8acdc7df332&nocache=yes&type=fixnone
然后拿到各个数据库里的表名,
在news数据库里找到了admin表
http://www.52pojie.cn/forum.php?mod=image&aid=891689&size=300x300&key=9326a78132556d39&nocache=yes&type=fixnone再然后拿到字段,出现了flag字段,
很激动http://www.52pojie.cn/forum.php?mod=image&aid=891690&size=300x300&key=76979c193e5959ae&nocache=yes&type=fixnone最后getflag~http://www.52pojie.cn/forum.php?mod=image&aid=891691&size=300x300&key=28f559c15d9bbf23&nocache=yes&type=fixnone
总结:提交的参数检查不严谨而造成SQL注入漏洞。脑洞大了不少,还将MySQL的特性和SQL注入结合起来考察,
其实这道题可以用sqlmap填几个参数后直接拿到flag,但为了防止成为脚本小子所以要懂这个漏洞的原理。
第三题
http://www.52pojie.cn/forum.php?mod=image&aid=891692&size=300x300&key=748c0cf5bc43e6c8&nocache=yes&type=fixnone
没做出来,这题有点奇葩-。-反正也不属于必做题,不过还是说一下思路。
打开网页看到文件上传,想着蛮简单:传马+C刀直接上,
顺手写了个一句话木马http://www.52pojie.cn/forum.php?mod=image&aid=891693&size=300x300&key=7ffd2c1aac43f724&nocache=yes&type=fixnone然而会被拦截,测试过后可以上传jpg文件,
然后就试了%00截断上传,brup抓包改包,后缀名解析等想绕过上传,结果绕不过。
然后就发现了最奇葩的一个东西:上传一个正常的jpg图片也不能加载。问了主办方,说图片会在极短的时间内删除,所以C刀是没有时间用的,只能写脚本来了。
大概思路就是:写脚本利用文件包含上传含有一句话木马的jpg图片,然后执行命令拿flag。
点击免费评分,每天有3次,不要浪费哦。
打字很累,免费评分,不胜感激。 BlackChess 发表于 2017-6-7 12:13
额。。。比赛还没完。。。就这么放出wp好么。
我以为今天结束。搞错了。 现在就删
支持下!谢谢分享!!! 大神好厉害啊啊,学习了,是原创吗 A-_虚伪_! 发表于 2017-6-7 11:38
大神好厉害啊啊,学习了,是原创吗
绝对原创
学习了啊 额。。。比赛还没完。。。就这么放出wp好么。 楼主这是哪里的比赛啊? Ctrl+A即可看到文字
还有图片貌似小了点 北林兮 发表于 2017-6-7 12:19
我以为今天结束。搞错了。 现在就删
今天23:00结束。。。尴尬了
页:
[1]
2