bugku---web部分随做随更--思路
1.检查源码
2.检查js文件或者修改html代码中的长度
3.get get/what=flag
4.post方式 直接在body里输入what=flag
5.矛盾 这里要不是数字才可以输出 但是要是1才能输出flag 所以构造了http://120.24.86.145:8002/get/index1.php?num=1q则得出flag
6.flag就在这里 打开源码发现脚本里有一段像加密的数值 因此利用base64解密工具即可以得出flag
7.域名解析 这题一开始很摸瞎 不知道怎么办 查阅了资料 想到在ubuntu虚拟机上去设置/etc/hosts文件 将这个域名与IP相对应就可以获取flag
8.这是一个一直在更新的页面,提示说停在什么处就会获得flag,但是能显示出来的其实只有一幅图,那么在跳到这幅图的时候是否是有什么问题的呢,利用burpsuite,我们可以发现在跳到可以显示的那幅图的时候的源码里包括了flag。
9.输入密码查看flag 即利用burpsuite爆破密码
10.本地包含 利用payload,创建读取文件flag.php内容
11.web5 有奇怪的很长文字 提交一下利用console
12.头等舱 看header
13黑页 是php页面 御剑扫描扫描后台目录 shell.php用burpsuite进行爆破
14.管理员网站 首先源码中有奇怪的数字 先base64解码为test123,但是一直提示联系本地管理员 因此伪装成本地访问,则admin test123登陆之后可得flag
15.看源码 所以根据js代码转出来
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;
输入67d709b2b54aa2aa648cf6e87a7114f1 则得到flag
16.flag在index中 怀疑是在index.php中,有file这个关键词,这是一个file关键字的get参数传递,php://是一种协议名称,php://filter/是一种访问本地文件的协议,/read=convert.base64-encode/表示读取的方式是base64编码后,resource=index.php表示目标文件为index.php。
而include的内容是由用户控制的,所以通过我们传递的file参数,是include()函数引入了index.php的base64编码格式,因为是base64编码格式,所以执行不成功,返回源码,所以我们得到了源码的base64格式,解码即可。