文件上传-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