东莞个人免费建网站,网站结构合理,那些网站可以接私活做,网站建设中下载源码 题目限制#xff1a;
webshell长度不超过35位除了不包含字母数字#xff0c;还不能包含$和_
这里使用php5来解决 可以围绕以下两点展开#xff1a;
shell下可以利用.来执行任意脚本Linux文件名支持用glob通配符代替
.或者叫period#xff0c;它的作用和source一样…源码 题目限制
webshell长度不超过35位除了不包含字母数字还不能包含$和_
这里使用php5来解决 可以围绕以下两点展开
shell下可以利用.来执行任意脚本Linux文件名支持用glob通配符代替
.或者叫period它的作用和source一样就是用当前的shell执行一个文件中的命令。比如当前运行的shell是bash则. file的意思就是用bash执行file文件中的命令 并且用. file执行文件是不需要file有x权限的 我们可以发送一个上传文件的POST包此时PHP会将我们上传的文件保存在临时文件夹下默认的文件名是/tmp/phpXXXXXX 由于执行该命令也需要用到字母那此时可以用到glob通配符 1.*可以代替0个及以上任意字符 2.?可以代表1个任意字符 这是由于能够匹配上/???/?????????这个通配符的文件有很多如果先匹配到别的文件则会出现错误导致整个流程停止根本不会执行到我们上传的文件。
通过ASCII码表可得知大写字母位于与[之间 先创建一个文件文件名要对上测试
构造POC执行任意命令 php生成临时文件名是随机的最后一个字符不一定是大写字母
复现漏洞还需要用于存放shell命令的文件以及用于提交表单的html 这里把提交的表单数据复制过来
需要将request中的get改为post因为get提交没有临时文件。这里post作为请求体而code作为get传参执行完后才会删除临时文件
code为
??. /???/????????[-[];?get传参需要url编码 第一个?为闭合为空格编码 通过eval执行反引号从而执行系统命令 在burpsuite中可以不转码
注意这里的POST与GET参数是并行的 想要查看临时文件是否生成可以用sleep()函数