CCTF-WEB相关笔记

主要记录两个函数,一个是strcmp(),一个是mb_ereg_replace()


strcmp()

php 5.3 以后字符串和数组比较会返回0

测试代码:

<?php
$password=$_GET['password'];
if(strcmp('Firebroo',$password)){
    echo 'NO!';
}else{
    echo 'YES!';
}
?>

那么 xxx.php?password[]=1 就会输出 YES。具体详细原理见结尾PDF


mb_ereg_replace()

这个函数会被bypass。

测试代码:

<?php 
	$data = $_GET['data'];
	$data = mb_ereg_replace("[<>]","_",$data); 
	echo $data;
?>

那么在xss的过程中,就可以通过xx.php?data=%c0< 来逃逸过滤。原因感觉是因为这个函数把两个字符当做宽字节处理了。


相关文档:Nicolas_Gregoire-Not_so_obvious_vulnerabilities.pdf


本文由Hack Blog原创,如需转载注明原文链接

作者:落 分类:漏洞 浏览:2506 评论:0
留言列表
发表评论
来宾的头像