【APP分发平台】之通过XSS直接自动化getshell

1、首先通过源码把网站搭建起来。服务器地址:http://jjdd.suli.store:1227

图片[1]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

2、登录用户,寻找可能存在漏洞的点。找了一圈发现就有一个文件上传功能。

图片[2]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

3、文件上传后直接抓包,把后缀改为php、php 都是不支持此文件类型。随后去看源码分析,发现他把上传的文件通过explode函数分成文件名跟扩展名的形式,也就是filename跟.jpg形式,然后后边用end()函数拿取后缀名跟数据库里面支持的后缀进行匹配,这样的话,就没办法绕过了,只能寻找其他漏洞点了。

图片[3]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[4]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[5]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

4、文件上传之后,他进而跳转到 http://jjdd.suli.store:1227/views/pic.php?key=051036d62e903511cec710d27e1be97a 界面还带了一个key参数值,跳转到这个界面后发现,里面有很多功能。最终发现分享界面存在一个xss漏洞。

图片[6]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[7]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[8]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

5、前台分析完了之后,直接去后台。找了一圈发现,没有文件上传点。但是点开分享管理的时候,弹出来了一个1,铁打的xss无疑了,但是找不到别的上传点,等于xss就能拿一个管理员cookie啊,这离getshell差的远啊,怎么办呢,没办法了,只能去分析源码了,分析了老长时间,终于在includes目录有一个update文件,一看名就知道是一个更新文件,分析里面的代码之后,发现这个文件是远程请求压缩文件,然后解压文件到根目录,但是在头部有一个鉴权验证。也就是在管理员权限才能更新文件。

图片[9]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[10]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

6、于是乎,我就访问http:jjdd.suli.store:1227/include/update.php,再用burp抓包,方法改为post请求,发现果然根目录生成了一个google.php文件,然后访问这个文件果然里面的$_SERVER打印出来了。

图片[11]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[12]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

7、既然网站存在xss漏洞我们能获取管理员权限,而在管理员权限的基础上又可以远程更新,这时候想能不能通过xss获取管理员权限之后,然后用管理员权限远程发起一个自己伪造好的zip文件(里面包含着自己的php木马文件),有了想法就干,着手开始写js代码。代码写完之后,就在分析链接那直接 ,(注意这里有字符限制,可以去短网址生成平台生成一个短网址)这样当管理员在后台打开分享管理的时候,在没知觉的情况下,通过update文件向自己伪造好的zip发起下载请求,然后再解压到根目录,这样我们就直接访问我们构造好的.php文件就可以了。

图片[13]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[14]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院
图片[15]-【APP分发平台】之通过XSS直接自动化getshell-赤道学院

总结,再实战的过程中,要灵活的把各种知识融合贯通起来,这样一方面巩固自己的知识,也更有劲去挖掘更多的漏洞。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容