Rce
文件包含
靶场环境
重点是这个代码,strpos,格式是这样的strpoc(1,2,3)
1是要搜索的字符串,必须有;2是要查询的字符串,必须有;3是在何处开始查询,可无;
而在语句里面有一个感叹号,意思就是不的意思
在没有感叹号的时候接受get的file的值,值跟flag无关,就触发else的语句
但这里有一个感叹号在前面就表示为跟flag无关,就不会触发,会执行下面的include,执行文件内容。
php://input
这里定死了file前六个字母必须是php://
这里php://inout可以把post提交的数据当作php代码执行,但是这个要看phpinfp配置文件有没有开启,就打开下面的phpinfo
这两个配置文件是开启的就可以
然后直接get提交,?file=php://input
然后burp抓包
在下面加上以post格式提交的参数,这里执行了ls /查看文件,左边显示文件。
读取源代码
这个名字蚁剑给了就是flag,然后就是如何读取倒,input不能用,但是还有fliter
这样用,看一下实例
# 明文读取
index.php?file1=php://filter/resource=flag.php
# 明文写入
index.php?file2=php://filter/resource=test.txt&txt=helloworld
然后编造出flag的
查看falg就行。
命令注入
打开靶场,这个题目,运用到管道符,一起跟着执行了。
这样就可以查看到目录
之后再去找flag就行了
执行,查看网页源代码
就找到flag了
过滤cat,就用less
过滤空格就写成127.0.0.1|cat<falg
过滤目录分隔号
过滤/。用cd 过滤
比如ls完,cd到指定目录下,在执行ls
这种,然后在继续,后门把ls换成cat读取flag就可以了
这题过滤很多东西/(\||&|;| |\/|cat|flag|ctfhub);
窗体顶端
这就要测试一下没有过滤什么字符
这个%0a还能用
就用它查看
查看到之后,看见了flag放在那里,但是有flag过滤
这里用到tab补全,url编码
?ip=127.0.0.1%0als%09*here#
补全名字
之后在查看它就可以了
先来到此目录下,因为cat过滤了所以用less查看
?ip=127.0.0.1%0acd%09*here%0aless%09*_88982229331151.php#
也用到了补全
ssrf
Web 目录
Ssrf漏洞就是可以看到内网的信息,需要用到一些伪协议http://192.168.64.144/phpmyadmin/
file:///D:/www.txt 直接访问本机www.txt文件内容
dict://192.168.64.144:3306/info 探针端口号开发情况,
ftp://192.168.64.144:21 探针对方ftp是否开放,这个是跟设置有关的的,有的直接访问c盘,或者别的,还有要登陆的
这个就用到了可file:///
查看源代码就有了。
端口扫描
直接访问网页带上http://127.0.0.1:8000
然后burp抓包
设置好递增数值到9000开始爆破
文件上传
这里自己创建一个提交按钮
然后burp抓住提交的数据包
这个肯定还要利用godher协议绕过
把burp抓到提交数据包,拿去url编码两次
这个url编码属实香到我了
然后就构造一个get请求的数据包,随便都可以
之后加上127.0.0.1/?url=127.0.0.1:80/_编码的好的pyload
FastCGI协议
这个直接用工具生成pyload,Gopherus脚本
Redis协议
利用工具生成,还是同一个工具,选择redis
生成一个后门
在哪去url编译一下
然后直接放到靶场
504表示已经上传成功了,蚁剑连接
URL Bypass
这个打开网页就说必须有http://notfound.ctfhub.com
们可以使用HTTP 基本身份认证绕过:
HTTP 基本身份认证允许 Web 浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。
也就是:http://www.xxx.com@www.yyy.com形式
Pyload http://notfound.ctfhub.com@127.0.0.1/flag.php,猜的flag就在这个目录
数字IP Bypass
这一题过滤了十进制,把ip127.0.0.1换成八进制和十六进制都可以
302跳转 Bypass
这个访问127.0.0.1/flag.php访问不了,那就访问index.php查看源代码
过滤了127|172|10|192
发现没有过滤localhost(本地服务器)
DNS重绑定 Bypass
跟名字一样用重定向
网页
rbndr.us dns rebinding service
目录遍历
Git泄露,
log
打开靶场之后,直接复制靶场进行目录扫描
确定他有git泄露,直接利用工具
添加了就对比添加和删除的数据
文件上传
.htaccess文件
这一题对面是黑名单拦截,可以上传一个.htaccess文件,而我们只要在上传的.htaccess文件内写入
SetHandler application/x-httpd-php
这个东西。把所有格式转换为php格式
然后上传一个含有一句话木马的图片,再去连接他
就可以了。
%00截断
打开靶场,选择好后门文件上传
开burp抓包修改