CTF 和 PHP ,数据库

时间:2024-01-18 08:33:08

引言

接触CTF 差不多一个月了,网上题目刷得也差不多,做了不少笔记,老想总结一下。当然,这种文章网上多得是。

正文笔记

  1. 少不了弱类型,松散比较,放一张图

CTF 和 PHP ,数据库

   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

    以后在更新吧