某系统绕过waf拿下webshell

admin 2020年10月11日00:00:50评论215 views字数 2042阅读6分48秒阅读模式


前言


对于一个不怎么拿站的我来说搞一次站点确实费劲。前不久拿了一个站点。分享一下粗略过程。


正文

小伙伴所在的地方要让搞某系统测试,发到群里让看看。我看了一波貌似没有什么洞洞这让我,想起三年前的某系统的算算术的漏洞于是,想搞一份源代码研究一下这个算算术的这个东东于是操起神器

某系统绕过waf拿下webshell

在fofa上找到一个站的可以算算术

某系统绕过waf拿下webshell

接下来掏出exp就开始怼。结果显示如下。连接被重置了想到的是某x云。结果查了一波ip不是。另外我的ip没有被ban。那就是另外的waf。那还好post怼一下

某系统绕过waf拿下webshell

get怼一下

某系统绕过waf拿下webshell

我猜测可能是对关键字进行拦截

某系统绕过waf拿下webshell

结果证实了我的猜想那么我们怎么办呢。当然是绕过他

某系统绕过waf拿下webshell

我想不用我说怎么绕过的只要看截图就知道是如何绕过的我这里就不说了
某系统绕过waf拿下webshell 

当然搞到这里有人就说了这权限这么大很高直接cs上线。或者下载exe到服务器上然后执行exe上线。稍微免杀一波就ok了
但是无奈我的vps没有续费。另外搞web的不弹个shell总觉的有点尴尬。于是开始想办法getshell.。那么我们先用命令看
这个在哪个目录。我们执行dir命令查询。握擦执行whoami可以执行这个不可以。

某系统绕过waf拿下webshell

那么我们加上命令行参数看看成功执行
某系统绕过waf拿下webshell 

我们来echo写webshell。发现这里有白名单解析限制。只要不是图片,等文件一律不解析

某系统绕过waf拿下webshell

看了不能再这个OA上强搞。我们只能在看看这个ip有没有别的站点。终于找到一个站点

某系统绕过waf拿下webshell

那么就拿它开刀就行。经过一系列的寻找我终于找到这个站点对应的web根目录。我们来写shell当然是最简短的shell最好了

某系统绕过waf拿下webshell

我们写入成功了没有回显,我们访问我们的shell。空白接下来我们用。进行写shell我们的文件名命名成x.jsp

某系统绕过waf拿下webshell

我们post提交一下。握擦。流量监控我们被拦截了。我们用流行的编码(base64)方式加密测试一下看看拦截么。当然我们的接收的jsp的马子没有改代码。
某系统绕过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())&cmd=whoami


一如既往的学习,一如既往的整理,一如即往的分享。感谢支持某系统绕过waf拿下webshell






某系统绕过waf拿下webshell


某系统绕过waf拿下webshell

app安全之反编译(一)

Android安全(二)—-攻击框架drozer全功能介绍

Android安全(三)—so注入(inject)

Android安全(四)--数据库 之 SQLite数据库

Android安全(五)--查看APK的签名的方法

Android安全(六)--apk加固原理

Android安全(七)--Keytool

APK签名校验绕过

ctf系列文章整理

日志安全系列-安全日志



扫描关注LemonSec

某系统绕过waf拿下webshell


某系统绕过waf拿下webshell


本文始发于微信公众号(LemonSec):某系统绕过waf拿下webshell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年10月11日00:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某系统绕过waf拿下webshellhttp://cn-sec.com/archives/154499.html

发表评论

匿名网友 填写信息