前几天在做公司的渗透测试项目时遇到的一个小程序,我发现了一个神奇的任意文件上传导致拿到了文件服务器的权限,怎么说呢,回想起来有点佩服自己当时的小脑袋。
https://xxxx.com/xxxx
,在数据包中夹杂着一个暂时未知的URL,URL是这样子的https://file.xxxx.com/getMsgById?Id=
,当时看响应体是空白的,就先把这个请求发送到Burp的repeater模块中记录下,看看能不能在小程序的功能点上找到类似的Id值。imgId
,突发奇想就将这个imgId
拼接到第一步的URL中,打开浏览器中打开是这样的。imgId
,将这个imgId
拼接到第一步的URL中,打开浏览器成功触发XSS。imgId
,将这个imgId
拼接到第一步的URL中,打开浏览器jsp脚本居然真的解析成功了。虽然响应中仅仅返回了一个imgId
值,但也是上传成功的一种表现,程序将imgId
与文件的物理路径通过数据库的形式存储下来,再通过getMsgById?
这个路由去读取和执行。果然挖洞要细心,不要认为开发不会这么写程序,就不去进行尝试。现在想想电视剧里说的那些话”想要练成神功,必须废掉以前的所有武功”,细品还是很有道理的。
很赞哦! (119)