1
int eregi(string pattern, string string)
检查string中是否含有pattern(不区分大小写),如果有返回True,反之False。
2.
sql_mode()
PIPES_AS_CONCAT
将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样是,也和字符串的拼接函数Concat想类似
ANSI_QUOTES
启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符
具体实现方法:set sql_mode=PIPES_AS_CONCAT
当题目出现禁用:select xxx||flag from xxx的时候,可以依靠这个开启||转义成连接符,然后就可以正常读取内容了
3.tornado和flask一样,可能存在模板注入的问题
在tornado中,由handler.setting来管控全局变量,可能可以依靠这个方式来获得flag
4.php字符串解析:
在查询字符串的解析过程中,会将某些字符删除或者代替,php需要将所有参数转为有效的变量名称,因此在解析查询字符串的时候会做两件事情:
①删除字符串前面的空白符
②将某些字符转为下划线(包括空格)
User input Decoded PHP variable name
%20foo_bar%00 foo_bar foo_bar
foo%20bar%00 foo bar foo_bar
foo%5bbar foo[bar foo_bar
5.今日学习了一些命令注入和执行的绕过方式,写在另一篇文章的末尾了:
https://blog.csdn.net/Sacrifice_li/article/details/108803665