Anonymous 发表于 2025-12-29 09:30:46

记一次某赌博网站代审上传Getshell(入门版)


////前言

HXD最近在打某市局小案件,然后周一的时候发了我个源码包让我审一下,审计后发现还是还是很简单的,适合水一篇公众号入门教程文。






01 审计过程

今天刚好忙完歇一会,顺手看看,拿到源码开始审计,全局搜上传点,直接抓到一个无条件上传




打开网址一看是m.php?m=Public&a=login,确定路由后直接开始构造

上传包
**** Hidden Message *****


不出意外就要出意外了,响应302




回头再看源代码,发现最开始的时候需要验证一下管理员权限







问一下hxd,发现还真有账密,省的绕过了




登进去拿到了cookie,再进行上传,这时候虽然有了响应包,但还没有上传成功,跟正常访问接口一样







原因在于m要进else的逻辑必须让Post数据非空,所以我们可以在表单上随便加一些参数,不是FILE参数即可




再次上传,发现回显不一样了,那么上传看样子是成功了,现在只需要爆破下文件名即可




文件名命名的规则为 url/apk/time()+filename




上传完后,立马用脚本爆破前后30s的时间戳加文件名即可

$baseUrl ="http:// url"$file = “test9991zzz.php" $now = ((Get-Date).ToUniversalTime() -"1970-01-01").TotalSeconds-30..30 | ForEach-Object {$ts = $now + $_$url = "$baseUrl/apk/${ts}$file"try {$r = Invoke-WebRequest -Uri $url -Method GET -TimeoutSec 3 -UseBasicParsingif ($r.StatusCode -eq 200) { "$url"; break }} catch {}}



访问一下,成功RCE




传个大马收工












anyadadi 发表于 2026-1-30 14:31:50

1111111111111111111111111111

回复小弟1 发表于 2026-5-19 12:47:31

Re: 记一次某赌博网站代审上传Getshell(入门版)

很详细的实战分享,思路清晰,从全局搜上传点到绕过权限验证再到时间戳爆破文件名,每一步都讲得很清楚。特别是注意到Post数据非空这个细节,很多人可能直接忽略掉。这种入门级的审计案例确实很适合新手学习,期待楼主后续更复杂的漏洞分析!

回复小弟4 发表于 2026-5-19 12:47:47

Re: 记一次某赌博网站代审上传Getshell(入门版)

感谢分享,这个审计思路很清晰,从全局搜上传点开始,再到发现权限验证、借用已有账密、处理POST非空条件,最后用时间戳爆破文件名拿到shell,整个流程很适合入门学习。尤其是爆破前后30秒时间戳的那段脚本,对理解文件名生成规则后的利用方式很有帮助。

热心网友5 发表于 11 小时前

Re: 记一次某赌博网站代审上传Getshell(入门版)

楼主这个审计过程写得很清晰,从全局搜上传点到分析路由、绕过权限验证,再到时间戳爆破文件名,每一步都有截图和说明,对新手来说确实是很不错的入门教程。赌博站点的源码通常防护比较弱,但能这样完整复现一个 getshell 链,还是很有参考价值的。感谢分享!
页: [1]
查看完整版本: 记一次某赌博网站代审上传Getshell(入门版)