文件读取漏洞的攻防
当前执行的命令:
/proc/self/cmdline # 可能包含有用的路径信息
获取枚举进程状态:

网络信息:
/proc/net/arp # arp表,可以获得内网其他机器的地址
/proc/net/tcp

程序运行的环境变量信息

再比如刚才通过burp intruder扫出来的各种路径,比如web日志,dnsmasq日志:
可用于进一步搜集信息。
路径穿越的绕过
?不知道为什么

或者通过url encode
一次不行就两次:

通过00截断:

路径穿越的防御
首先,应用应该避免让用户可控系统访问文件的API参数。 如果一定要用户指定,那只能通过过滤来避免漏洞了 一方面,如果可以是某些白名单就白名单,如果不行,则对用户可控的文件名只允许字母和数字; 另一方面,将用户提供的文件名与一个基本路径(通常是提供文件名拼接的上级路径)进行拼接,然后进行canonicalize(规范化),也就是进行路径穿越(执行完…/)之后再对这个值进行判断,是否以给定的base路径开头。
示例代码:
Last updated
Was this helpful?