nginx安全防护目录穿越
侧边栏壁纸
博主昵称
yuc

  • 累计撰写 291 篇文章
  • 累计收到 0 条评论

nginx安全防护目录穿越

yuc
yuc
2024-07-05 / 最后修改: 2024-07-05 06:54 / 0 评论 / 4 阅读 / 正在检测是否收录...
问题现象

某个环境被渗透测试有目录穿越漏洞,根据提供的 POC 测试如下:

[root@SwjwSs003ZSi html]# curl -H "Cookie: pvdid=anonymous; JSESSIONID=31C4345FB72B10B090BFDE1156F8F1A0; route=f015f74752d9d072baef31542796e55a|1717567459|1717562574" 'https://10.1.26.3/xxx/api/fileupload/services/download?fileId=%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc/passwd' -k

返回的内容:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
zabbix:x:997:995:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

可以说明是成功了

规避措施

在产品还没有修复的情况下,可以先从 nginx 上拦截掉这种请求

if ($request_uri ~* "%2e%2e|%2f%2e|%2e%2f|%2F%2E%2E|%2E%2E") {
    return 403;
 }
if ($request_uri ~* "\.\./") {
    return 403;
}
if ($uri ~* "\/\.\./|\.\./|\.\.") {
    return 403;
}

这样可以禁止访问请求中有当前目录,上级目录 等 URI

0

评论

博主关闭了当前页面的评论