文件上传-1

文件上传是什么?

网络攻击者上传了一个可执行的文件到服务器并执行,这里上传的文件可以说木马,病毒,恶意脚本或者webshell等,这种攻击方式最为直接和有效的

主要出现在哪?

网站上上传图片,上传文件等的位置。

文件上传的方式

1.js验证绕过

2.数据包中type绕过上传

3.文件扩展名绕过上传

4.等

修改文件的content-type 修改文件的后缀名 (大小写) 改文件内容 等绕过方式

如何找到上传的文件的路径?

  上传成功后查看源代码找到目标文件的src,如果没有只能另寻他法。

实战 练习1:

链接:http://lab1.xseclab.com/upload1_a4daf6890f1166fd88f386f098b182af/

1.上传目标文件测试

 2.可以看到 关键词是 jpg 而且还有js验证,用bp抓包

可以看得到 有js的验证 ,将 验证部分删掉 return true,让其不管在什么情况下都返回正确,

3.点击forward 再点击提交

4.点击forward 直到页面显示是否上传成功为止。

 当然这个题还有另一种方式:

  先将目标文件扩展名修改为符合所要上传文件条件的名,然后点击上传的同时用,bp抓包,找到filename这个选项,将后缀名改回php或者asp等的后缀名。也可以绕过js验证。

实战2

http://lab1.xseclab.com/upload2_31cc2e024f91058a742d8bed95c7ca4f/

1.重复第一个的操作,发现并没有js验证

2.抓包进行分析 进入repeat选项卡中,将文件后缀名改为大写发现也不行,

3.将content-type修改为 image/jpeg 点 go 发现成功上传。

实战3

 文件上传之00截断

http://ctf5.shiyanbar.com/web/upload/

1.进行抓包 >=

2.右键 send to repeat ,通过常规方法依次实验 都不行

   考虑可能存在00截断:

添加上一个 + 

点击 hex 找到对应的十六进制代码 改为00

点击 go 还是不行 

返回看到有一个路径 dir

在路径后添加 alert.php%00

选中%00 右键convert selection >= url => url decode

filename后缀改为jpg

原文地址:https://www.cnblogs.com/Abelte/p/8919722.html