[原理]
php中有两种比较符号
=== 会同时比较字符串的值和类型
== 会先将字符串换成相同类型,再作比较,属于弱类型比较
[目地]
掌握php的弱类型比较
[环境]
windows
[工具]
firefox
[步骤]
1.打开页面,进行代码审计,发现同时满足 $a==0 和 $a 时,显示flag1。
2.php中的弱类型比较会使'abc' == 0为真,所以输入a=abc时,可得到flag1,如图所示。(abc可换成任意字符)。

3.is_numeric() 函数会判断如果是数字和数字字符串则返回 TRUE,否则返回 FALSE,且php中弱类型比较时,会使('1234a' == 1234)为真,所以当输入a=abc&b=1235a,可得到flag2,如图所示。

第八题:get post


接下来,打开hackbar

Execute

第九题:xff referer

首先先了解xff 和referer
User-Agent:使得服务器能够识别客户使用的操作系统,浏览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)
Cookie:网站为了辨别用户身份进行session跟踪,并储存在用户本地终端上的数据(通常经过加密)
X-Forwarded-For:简称XFF头,代表了HTTP的请求端真实的IP。它被认为是客户端通过HTTP代理或者负载均衡器连接到web服务端获取源ip地址的一个标准(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库或某文件[通过修改XXF头可以实现伪造IP])。
Rerferer:浏览器向 WEB 服务器表明自己的页面来源。
Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。

打开看到ip必须为123.123.123.123
burp抓包,添加X-Forwarded-For:123.123.123.123

发现新的提示,再添加referer:https://www.google.com


第十题:webshell


一句话,使用菜刀或者蚁剑都行,我使用蚁剑


找到flag

第十一题:注入


研究研究,提示说没有waf,所以可以考虑注入漏洞

输入www.baidu.com;find / -name "flag.txt"
;为截断 查找flag文件

cat 查看

第十二题:

直接提供大佬wp
还可以这样,通过判断编码方式为base16通过解码或的一个数组:[55,56,54,79,115,69,114,116,107,49,50]通过ASCII对数组再次进行解码得到字符串:786OsErtk12。