Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 722 Bytes

other.md

File metadata and controls

30 lines (20 loc) · 722 Bytes

strpos

if(stripos($url,'.')){
	die("unknow url");
}

if(stripos($url,'.') == False){
	die('unkonw url');
}

这段代码是存在漏洞的,因为当.出现在第一位时候返回值为0

正常写法:

if(stripo($url,'.') === False){
	die('unkonwn url');
}


## 注入

	preg_match("/\b(select|insert|update|delete)\b/i",$message)

然后使用/*!00000select*/ 来bypass 语义分析的绕过

> \b”匹配单词边界,不匹配任何字符

/*!*/ 只在mysql中有用,在别的数据库中这只是注释,但是在mysql,/*!select 1*/可以成功执行,在语句前可以加上5位数字,代表版本号,表示只有在大于该版本的mysql中不作为注释