第一关
审查代码发现有隐藏的连接,访问,flag一闪而过。打开burpsuite,设置好代理,然后重新访问,在历史里找相应的回复包,得到flag。
第二关
审查元素 修改按钮为可用 抓获一个POST包
但是数据项是有问题的“q1=2015&q2=lol+&q3=22&success=false”
提交显示fail
页面确实给的是q1q2q3,标签是q1q2q4,而且有JS会把lol改成lol+
修改回来q1=2016&q2=lol&q3=22&success=true 提交
第三关
已经是Admin 注意Member参数要base64解密出来是普通的 要改成Admin经过base64加密后的
第四关
构造绕过 V1很简单 5位类似”2017X“字符串 V2需要一个多维数组 V3用%00截断
第五关
登陆进去之后看了前两个人的page参数是MD5值 分别做了解bob317 sam429 推测密码是名字+3位数字
C语言写了一个程序 生成了1000个哈希字典 放进burpsuite暴力破解
有效值:e0abf23f3c6783eb43992635dfbe0d8f
回复包里有flag
第六关
referer注入 sqlmap跑 “sqlmap -u -level 3 -p referer”再加上曝库表列的命令,表多,建议分开跑。
第七关
上传,burp注意改一下内容就好了
第八关
进入关卡后头标签里面有一个JS如下:
p="60,105,102,114,97,109,101,32,104,101,105,103,104,116,61,48,32,119,105,100,116,104,61,48,32,115,114,
99,61,34,46,47,
102,108,48,97,46,112,104,112,34,62"
p=eval("String.fromCharCode("+p+")");
document.write(p);
转化一下,
访问http://218.76.35.75:20123/fl0a.php 提示flag is $flag
$flag是一个php变量 传参是POST方式 参数得去数据包里面找 挂上代理抓包
cookie字段里面有flag参数
第九关
变量覆盖。直接在url里传参就可以了,注意引号有限制,不要带。
第十关
burp下抓到提交的内容会到一个img标签里 闭合标签用onerror=alert()弹出 不要出现引号 否则弹不出来
第11关
包含漏洞 /flag应该是一个文件 page参数给/flag 访问后说flag不在这里 调试下页面 有提示flag在
62a72cb2f3d5e7fc0284da9f21e66c9f.php
访问后得到flag
第12关
发送个的数据包包含的user=Bob&guess=990 提示要用admin 将user=admin guess参数丢进burp里面跑所有的3位数组合 某个回复包就是flag
第13关
简单的社工思想猜一下表和列 然后下面是盲祝的格式
http://218.76.35.75:20101/?name=guest‘ UNION ALL SELECT NULL,null,concat(database(),0x3a,user()) -- -
构造一下查询flag就出来了
第14关
图片马 合成传上去就好
第15关
曝出目录 访问flag文件 只能用|和&
第16题
审计JS 尤其注意这一点 urlkey提示隐藏了一个文件 js是可以直接访问的 这个三元组是记分板显示的内容 具体调试一下就能得到文件名 然后弹出flag
};
this.mayAdd = function(a) {
if (this.scores.length < this.maxscores) return 1E6 < a && (a = new p, a.set("urlkey",
"webqwer" [1] + "100.js", 864E5)),
!0;
for (var b = this.scores.length - 1; 0 <= b; --b) if (this.scores[b].score < a) return 1E6
< a && (a = new p, a.set("urlkey", "webqwer" [1] + "100.js", 864E5)),
!0;
return ! 1
};
第17题
抓包得到密码 是一个哈希 要解密 然后提交时注意的地方:XFF是伪造IP的,referer伪造来源,数据参数要解密
第18题
kindeditor4.1.7 有曝出路径的漏洞
file_manager_json.php曝出路径 访问指定文件得到flag
第19题
脑洞真大啊!! AWVS曝出了web目录 有一个.git文件夹 下载源代码之后发现hack.php都没闭合完整 后来想起来 如果这里被修改了 是要记入到git记录中的 下载了objects中的内容 通过查看修改记录flag
第20题
Flask SSTI漏洞 可以利用内建函数 或者调用其它可利用的模块 具体百度”Flask SSTI“并参考函数手册
http://218.76.35.75:20102/?data={{help()}}报错 然后页面回显曝出了flag文件 然后用内建文件调用调用这个文件 得到flag