BurpSuite用户名密码爆破
输入错误的用户名密码组合:xiaoming 19971208,开启拦截:
发送到intruder,配置cluster bomb:
使用safe6,如下填写信息后,单击发车:
得到可能的密码组合safe6pass.txt文件:
首先配置攻击用户名的payload,用add添加可能的用户名:
然后配置攻击密码的payload,在intruder-payload-payload options中加载获取的密码组合文件:
得到如下的simple list:
配置结束后,单击Start attack,发现有错误提示:
发现是代码处PHPSESSID也被当做了一个position
删除其两侧的$$,得到:
再次单击Start attack,开始爆破,爆破过程较慢:
在尝试到第150左右的时候,发现length发生变化,由1746变为了1758,而后变为1770,猜测第151项为正确的用户名密码组合:
将第151项中的组合,xiaoming xm1208输入:
登陆成功,即爆破成功:
滑稽
启动场景后,打开链接,检查元素:
在注释中看到flag。
flag{d0b386e19e85e75d75d992bcbf218c6b}
计算器
发现最大长度为1,写不了三位数。
将最大长度改成3,输入正确计算结果:
得到flag:
Dummy Game
用Burpsuite进行抓包
打开源代码,发现flag is here,但是没有任何东西:
再forward几下,在某一时刻连着出现了两个Title是Dummy game的:
查看response:
得到flag:
flag{ec39ee443cad3ec7938ac5e5f7e64b70}
头等舱
找到该地址:
点开,查看Response:
发现Flag出现在响应头中,得到flag:flag{dd8c7ab310d2fb7811160a5e44a2833e}
alert
发现有类似ASCII码
flag{40e7e65ec38b89ce46c6352276be10bf}
对照得出:flag{40e7e65ec38b89ce46c6352276be10bf}
GET
得到如下网页:
这段代码的意思是:需要传递一个参数,这个参数名叫what,而当what的值为flag这个字符串时,就可以得到真正的flag。
于是进行url传参:
记得关闭intercept,若输入/get/会提示:
得到flag:
flag{e12c42435b7cb7718c08408121334826}
POST
拦截之后,将raw代码send to repeater,右键选择change request method,在最后输入what=flag,得到:
得到flag:flag{4d14074e3fc065dfe6a2df50c594e72b}。
HTTP
Burpsuite拦截,拦截到的信息发送到repeater,send,查看源代码,发现一行secret:
在Get后加上/Secret.php/
Send后,出现新的源码界面,浏览后找到新的一句话:
继续,添加这个网址到referer:
找到另一句话,这句话提示我们将host改为Sycllover:
按要求修改:
得到如下信息,要求我们只能在本地访问:
于是按要求修改HTTP header:
得到flag:
flag{578bccfd-1a4d-4ae3-9a8f-39a4c3ec7e1d}。
Have fun
界面是一只猫猫!
没什么有用信息,按照套路拦截,send to repeater, send,观察源代码:
观察到:如果cat的值是dog,就会发生一些美好的事情,那就进行url传参。
确实十分美妙:
得到flag:flag{4a6849df-a8a6-4840-b089-c2c790ed44c6}
矛盾
进入网址后看到这样一段代码,很明显就是只有num=0的时候,才会有下面的响应,但是num=1的时候,才会反馈flag,所以才是矛盾。
那么num就可以不用等于1,因为是弱判断,只要等于1(…..)后面什么都行,如:
即可得到flag:
flag{16afc5b9893a4a3b6d04196bc56ac7b8}。
网站被黑了
打开之后确实是黑的:
通过御剑扫描后台:
打开一个这样的网页:
查看源代码,没有特别之处,不知道密码,只好爆破:
Change request method, send to intruder,载入字典:
确定position:
Start attack
很慢….
得到密码:hack
输入密码后:
得到flag:
EasySQL
打开网址,是一个要登陆的界面:
判断存在sql注入:
使用’or 1=1 #为用户名,什么做密码都可以
其原理为,认证语句通常为:
select * from table_name where username='xxx' and password ='xxx'
而当使用如上用户名时,会变为:
select * from table_name where username='admin' or 1=1#' and password ='xxx'
#及以后的部分都已被注释,即密码为多少没有太大意义。
得到flag:flag{c9fab876-3289-4ed1-9115-3abe8a4b0f7f}
WarmUp
由于看到代码审计,于是找出源代码:
找到一个被注释掉的source.php文件:
打开该文件,进行代码阅读:
如果上述三个条件都能满足,则可以进行include $_REQUEST[‘file’]的操作。
发现可能还有一个隐藏文件hint.php,访问该文件:
得到这样一句话:
也就是需要想办法绕过,来获得在ffffllllaaaagggg中的flag。
又发现,如果page在白名单中,就会返回true,如果page为空或不为字符串,就会返回false。此处可以利用先进行url解码再截取,用两个?(%253)来绕过if校验。
最终得到了flag:flag{bbaa4ab1-8ea3-43bf-ab86-e9be801da8f1}
secret file
首先查看源代码,发现有一个隐藏文件Archive_room.php:
打开它:
点击secret发现是假的:
对点击secret时进行抓包,查看源代码,发现其中有secr3t.php:
打开:
strstr是扫描首次出现这个字符串的位置,strisstr就是strstr大小写不区分:
即需要传递一串file参数过去,但是这些参数不能含有../、tp、input、data,包括这些的大小写。
同时,题目提示flag在flag.php里面:
查看源码,发现没有任何有用信息,因此尝试使用php://filter获取源码。
在secr3t.php的url后面加上,可得:
太长了,不贴了,用BASE64解码:
得到flag是:flag{0574f4d1-b68f-49d8-bbf9-7f44e750b8f4},秘密是他想要一个女朋友。
STTI_1(模板注入)
一打开就告诉:需要上传一个叫flag的参数:
查看源码:
看到一个叫flask的名词,查询得到,是一种模板注入,搜索可得其模板:
/?flag={{config.SECRET_KEY}}
得到flag:flag{27b7e818b1c19e185663221086522c81}
版权归原作者 淡蓝色的愿望 所有, 如有侵权,请联系我们删除。