小灰博客--小灰IT技术博客 | sky00.com

如何利用IIS解析漏洞上传图片木马

简单的叙述一下IIS解析漏洞给网站带来的隐患,利用上传图片的方式就可以拿下你的目录!

第一种:在网站目录下建立任何 *.asp或者*.php 文件夹(也就是 aa.asp或者shell.php之类,有的可能PHP不支持,下面也是)文件夹,其目录下的所有文件都会被当做asp或者php脚本文件去执行,也就是说:它目录下的abc.jpg 都会被当做脚本文件去解析。
这样就非常可怕了。当用户用记事本把 11.jpg 打开,然后里面写入ASP的木马程序,那就可以顺理成章的去执行 abc.jpg 了。也就是在地址栏输入:http://www.sky00.com/aa.asp/abc.jpg 就可以被当做 asp 去执行。
其实一般而言这种漏洞在普通网站中并不常见,因为很多应用中,用户没有自己创建目录的权限(当然这是需要相当大的权限的)。

第二种:就是利用上传漏洞。老版本的 fckeditor,以及其他编辑器、上传组件基本都存在的漏洞(准确的说判断这个漏洞不应该交给他们去处理,他们只负责了上传,有的fck上传上去会给文件名字加下划线,这样你重新上传原来的东西就不会有下划线了,有下划线不执行!)
比如:将一个asp木马的后缀改为:leo.asp;.jpg 这样的。在IIS下,这样的东西也会被当做asp程序去执行。因为他不会识别分号后面的东西,也就是不会执行分后后面的.jpg,自然而然就成了leo.asp!
用户通过编辑器、其他上传文件的程序,上传一个文件名为:leo.asp;.jpg 的文件,然后就可以通过URL去访问:http://www.sky00.com/上传目录/muma.asp;.jpg 去直接执行木马程序!至于上传目录你可以抓包看或者审查代码看等..

解决办法:
1、普通程序禁止用户创建目录,或者严格判断目录的格式,只能为数字或者英文字符。
2、对上传的文件进行重命名,比如用户上传了一个 leo.asp;.jpg 的文件,重命名之后会得到 201400202029.jpg 的文件。


如果该文章帮到了您,不妨帮忙分享支持下博主!
同时也欢迎各位技术爱好者加入IT技术群(点击即可):70035098 互相交流学习!

分享该文章到:

5 条评论

  1. 恒泽堂说道:

    受教了!

  2. IT疯狂女说道:

    图片木马,好强额,看到都神奇。



发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分类

最新评论

  • + 1.674227 BTC.GET - https://graph.org/Official-donates-from-Binance-04-01?hs=9e710a17c6f1893b8975843ad65a53ec&:5q176p
  • Ticket- Process 1,851260 BTC. Receive >> https://graph.org/Official-donates-from-Binance-04-01?hs=81d107938621831ce06bfc98e59470ae&:xtjbtk
  • + 1.419261 BTC.NEXT - https://graph.org/Official-donates-from-Binance-04-01?hs=558cdf18520cfb0ab9368563ad878fe3&:t1ixi5
  • + 1.200600 BTC.NEXT - https://graph.org/Official-donates-from-Binance-04-01?hs=20bcd57ec809274e19061c909e168662&:2ixvv9
  • + 1.681136 BTC.GET - https://graph.org/Official-donates-from-Binance-04-01?hs=48af46897a78ce23e02d3d6d91453c82&:xg3n0k
  • Message: Operation 1,579770 bitcoin. Withdraw => https://graph.org/Official-donates-from-Binance-04-01?hs=8b618b6f3e2558ea545b01f25c66ea45&:f5w4y0
  • Reminder- TRANSFER 1.299580 BTC. Get => https://graph.org/Official-donates-from-Binance-04-01?hs=a0af85c70258e2d35864223f8bf1561e&:bapbbx
  • + 1.195608 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=9e710a17c6f1893b8975843ad65a53ec&:102182
  • + 1.498411 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=aac6bac50a00897dcb59231afcd85b90&:ca7l9u
  • + 1.594516 BTC.GET - https://graph.org/Message--17856-03-25?hs=20bcd57ec809274e19061c909e168662&:xfnxxa
  • Notification- Process 1.846583 BTC. Verify =>> https://graph.org/Message--17856-03-25?hs=46cca2220f62b645c465c3659609f169&:o4qdng
  • + 1.628365 BTC.NEXT - https://graph.org/Message--17856-03-25?hs=d2e9f25426f06f324d26af9866fa1537&:oh0f52
  • + 1.106535 BTC.GET - https://graph.org/Message--17856-03-25?hs=98190feaf2cf13b298012d5af2183ac8&:lzc0m1
  • We send a transfer from unknown user. Next > https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=9e710a17c6f1893b8975843ad65a53ec&:fqrvth
  • Ticket: SENDING 0.75905835 BTC. Next => https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=189b84788c5e6405c53f7dd1193b9874&:h8yo8m
  • + 0.75386069 BTC.NEXT - https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=d9564a149cf7ebbc725fcfce1bd3d512&:bc1353
  • Sending a transfer from unknown user. Take >> https://graph.org/GET-BITCOIN-TRANSFER-02-23-2?hs=b0daecdb412780460f6d70d2ebe7020c&:aau2lw
  • You have received a message(-s) № 221889. Open >> https://telegra.ph/Binance-Support-02-18?hs=bd8a1e7af9a0091b9e1cfeb86b9552cb&:kqpbhi
  • Notification; Operation №IV67. Go to withdrawal => https://telegra.ph/Binance-Support-02-18?hs=08b576daf9c0848743e65271d9d88559&:qwsyif
  • + 0.75961990 BTC.NEXT - https://telegra.ph/Binance-Support-02-18?hs=20bcd57ec809274e19061c909e168662&:p4uthc