绕过内存检测和静态检测
https://www.t00ls.com/articles-70842.html
SSRF-CRLF 注入攻击redis
https://www.cnblogs.com/-chenxs/p/11749367.html
SSRF-通过【curl命令】 注入攻击redis
https://www.cnblogs.com/-chenxs/p/11749367.html
SSRF-通过【gopher协议】 注入攻击redis
https://www.cnblogs.com/-chenxs/p/11749367.html
SSRF-使用dict协议向Redis数据库写shell
https://www.cnblogs.com/-chenxs/p/11749367.html
SSRF-通过【curl命令】和【gopher协议】对有【SSRF漏洞】的网站远程伪造post请求反弹shell
https://www.cnblogs.com/-chenxs/p/11749367.html
SSRF-gopher攻击MySQL
https://www.cnblogs.com/-chenxs/p/11749367.html
SSRF-gopher攻击fastcgi
https://www.cnblogs.com/-chenxs/p/11749367.html
部署使用jni的jsp webshell -> 进而执行命令来绕过rasp
https://cloud.tencent.com/developer/article/1541566 https://github.com/sry309/jniwebshell
针对百度openrasp-java反射hook修改变量值
反射的方式。修改rasp的HookHandler类的变量enableHook设置为false https://www.anquanke.com/post/id/195016#h2-2 绕过方式2二 https://paper.seebug.org/1785/
SQL注入绕过 - 新增无意义的参数
操作:新增一个参数(参数名为一个无意义的参数名即可),注意该参数需要在被注入参数的前面,以保证rasp先检测该参数。被注入参数中添加一段注释如下,新增参数值为注释的一部分(长度大于等于8即可)。 https://cloud.tencent.com/developer/article/1755588
PHP中在GOT表存放shellcode并执行绕过rasp
https://github.com/Mr-xn/Penetration_Testing_POC/blob/master/books/%E9%92%88%E5%AF%B9%E5%AE%9D%E5%A1%94%E7%9A%84RASP%E5%8F%8A%E5%85%B6disable_functions%E7%9A%84%E7%BB%95%E8%BF%87.pdf
Jni调用UnSafe的allocateInstance函数
目前大部分RASP产品都把命令执行功能的检测放到了UNIXProcess的构造方法上。
而像一些绕过方式如forkAndExec函数反射调用还是需要使用UNIXProcess去创建实例,最终造成rasp的拦截。
但是UnSafe的allocateInstance函数可以在不调用UNIXProcess构造方法的前提下生成实例,并且由于allocateInstance本身也是native函数,那么实际上我们整个命令执行的关键点上都是通过JNI来完成了,可以完美避开RASP的防御 https://paper.seebug.org/1785/ https://tech.meituan.com/2019/02/14/talk-about-java-magic-class-unsafe.html https://github.com/turn1tup/JvmRaspBypass
VM Anonymous Class 型内存码
https://paper.seebug.org/1785/
针对字节hidsderasp模块-通过反射机制修改检测规则
https://www.angelwhu.com/paper/2022/02/03/Java_MemoryShell_Elkeid_RASP_Protection/#0x03-Elkeid-RASP%E7%BB%95%E8%BF%87
通过Class重加载绕过Rasp
https://paper.vulsee.com/KCon/2021/%E9%AB%98%E7%BA%A7%E6%94%BB%E9%98%B2%E6%BC%94%E7%BB%83%E4%B8%8B%E7%9A%84Webshell.pdf
Tomcat-JNI 攻击方式
一般手法需要加载.so 的动态链接库才能进行调用,因此通常需要配合目标的文件上传漏洞和代码执行漏洞来调用已经上传的链接库,这种方式大大增加了漏洞利用的成本。而冰蝎作者提出了一种新的思路,通过已经有的 tomcatjni.jar 包 (在 Tomcat 环境中默认存在) 进行利用。 https://www.wangan.com/p/7fy786f60b67bd2c#4.2Tomcat-JNI%E6%94%BB%E5%87%BB%E6%96%B9%E5%BC%8F 4.2
熔断开关机制的利用-增大载荷-使rasp熔断
https://www.wangan.com/p/7fy786f60b67bd2c#4.4%E7%86%94%E6%96%AD%E5%BC%80%E5%85%B3%E6%9C%BA%E5%88%B6%E7%9A%84%E5%88%A9%E7%94%A8 4.4
Behinder/Godzilla 伪装恶意类
https://www.wangan.com/p/7fy786f60b67bd2c#4.4%E7%86%94%E6%96%AD%E5%BC%80%E5%85%B3%E6%9C%BA%E5%88%B6%E7%9A%84%E5%88%A9%E7%94%A8 4.5
SSRF 绕过- 解析绕过
利用的原理:解析URL时的规则问题。http://www.baidu.com@10.10.10.10与http://10.10.10.10请求是相同的。 payload:http://www.baidu.com@10.100.12.40:8080
SSRF 绕过-本地回环地址的其他表现形式
测试结果 http://127.255.255.254:8080/ http://127.1:8080 http://127.0.1:8080 http://0:8080
SSRF 绕过-IP的进制转换(钓鱼邮件常用于绕过检测)
未测试:
• 点分十进制IP地址:http://216.58.199.78
• 八进制IP地址:http://0330.0072.0307.0116(将每个十进制数字转换为八进制)
• 十六进制IP地址:http://0xD83AC74E或者http://0xD8.0x3A.0xC7.0x4E(将每个十进制数字转换为十六进制)
• 整数或DWORD IP地址:http://3627730766(将十六进制IP转换为整数)
SSRF 绕过-封闭式字母数字 (Enclosed Alphanumerics)字符
经测试 rasp 无法解析
List:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳
⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇
⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛
⒜ ⒝ ⒞ ⒟ ⒠ ⒡ ⒢ ⒣ ⒤ ⒥ ⒦ ⒧ ⒨ ⒩ ⒪ ⒫ ⒬ ⒭ ⒮ ⒯ ⒰ ⒱ ⒲ ⒳ ⒴ ⒵
Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ
ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ
⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴
⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿
SSRF 绕过-URL十六进制编码
http://%77%77%77%2e%62%61%69%64%75%2e%63%6f%6d
SSRF 绕过-利用30X重定向
测试结果如下: 需要服务端开启代码:
from http.server import BaseHTTPRequestHandler, HTTPServer
class RedirectHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(302)
self.send_header('Location', 'http://10.100.12.40:8080/')
self.end_headers()
if __name__ == '__main__':
server_address = ('', 8000)
httpd = HTTPServer(server_address, RedirectHandler)
print('Server running at http://0.0.0.0:8000')
httpd.serve_forever()
ssrf访问: http://10.100.12.35:8000
SSRF 绕过-DNS解析
未测试 配置域名的DNS解析到目标地址(A、cname等),这里有几个配置解析到任意的地址的域名:
nslookup 127.0.0.1.nip.io
nslookup owasp.org.127.0.0.1.nip.io
SSRF 绕过-DNS重绑定
未测试: http://www.bendawang.site/2017/05/31/%E5%85%B3%E4%BA%8EDNS-rebinding%E7%9A%84%E6%80%BB%E7%BB%93/
https://cloud.tencent.com/developer/article/1942119
起新线程绕过
https://www.wangan.com/p/7fy786f60b67bd2c#4.6%E9%80%9A%E8%BF%87%E6%96%B0%E5%BB%BA%E7%BA%BF%E7%A8%8B%E6%89%A7%E8%A1%8C%E7%BB%95%E8%BF%87 4.6
通过 WindowsVirtualMachine 注入 ShellCode 加载
https://www.wangan.com/p/7fy786f60b67bd2c#4.6%E9%80%9A%E8%BF%87%E6%96%B0%E5%BB%BA%E7%BA%BF%E7%A8%8B%E6%89%A7%E8%A1%8C%E7%BB%95%E8%BF%87 4.10
弱引用 GC
https://www.wangan.com/p/7fy786f60b67bd2c#4.11Java%E8%B7%A8%E5%B9%B3%E5%8F%B0%E4%BB%BB%E6%84%8FNative%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C 4.12
高权限场景卸载 RASP
https://www.wangan.com/p/7fy786f60b67bd2c#4.13%E9%AB%98%E6%9D%83%E9%99%90%E5%9C%BA%E6%99%AF%E5%8D%B8%E8%BD%BDRASP 4.13
命令执行绕过-cp命令
使用cp命令将/etc/passwd复制到/tmp/passwd,然后再查看/tmp/passwd 同理可以测试其他命令如/bin/nc、/bin/wget等 可以调研测试一下
/proc/{pid}/mem 写入shellcode