引言
接触CTF 差不多一个月了,网上题目刷得也差不多,做了不少笔记,老想总结一下。当然,这种文章网上多得是。
正文笔记
- 少不了弱类型,松散比较,放一张图
2. mysql_real_escape_string 不转义的 : % 和 _
3. $sql = "SELECT * FROM admin WHERE pass = '".md5($password,true)."'"; 这中sql语句,当md5后的hex转换成字符串后,如果包含 'or'<trash> 这样的字符串,那整个sql变成SELECT * FROM admin WHERE pass = ''or'6<trash>',
这样的字符串拿一个:ffifdyop,md5之后为:276f722736c95d99e921722cf9ed621c
4. md5,sha-1 加密数组时,eregi,strop处理数组, 返回NULL.
5. 数据库查询语句当中,反斜杠 后面的单引号不参与闭合。
6. 向mysql 插入过长的字符时 ,会截断
7. 字符串和数字比大小,"2017f">2016 为true
8. array_search("a",$get),$get 中有 0 时 返回TRUE
9. %00 可以截断 eregi()函数
10. is_numeric 函数,0x可以绕过这个函数,mysql当中字符串可以用十六进制代替。
11. GPC 不会转义$_SERVER $_FILES变量也不受保护
12. in_array 和 array_search()这两个函数, 在弱类型比较下即 字符串和 0 比较 ,相等 返回true
以后在更新吧
13. 数字相互比较时 072==72 为true, 72与72.00比较时为true