mysql order by sql注入_萌新的手工sql注入入门--mysql(普通sql注入篇)

sql注入主要分为普通的sql注入,还有盲注

这一篇主要是记录普通的sql注入

sql注入的主要流程:

1.寻找注入点/判断该表单是否可注入:

主要运用的方法是,构造错误的语句(在正常输入的后面加上如单引号等敏感符号)

如:1’ ,1#等

同时,注入类型分为三类,数字类,字符类,还有如like%%等搜索函数

根据返回的结果进行判断是普通的sql注入还是盲注。

2.找到注入点之后,利用order by 猜解字段个数

若为数字类型注入:直接在后面跟上order by 数字即可

若为字符类型注入:须在order by 后加上注释符号#

利用order by 猜解流程,以数字型为例:

假如

数字 order by 1 // 通过

数字 order by 2 // 通过

数字 order by 3 // 通过

数字 order by 4 // 不通过

则该sql语句共查询了3个字段

由此,如果没有过滤掉union,我们就可以利用union来构造sql语句来查询。

3. 利用union构造sql语句来获取数据库名

主要函数 database()

还是以上面的为例,假设我们已经确定该sql语句查询了3个字段:

那我们先利用union构造一条select语句确定字段的顺序

1 union select 1,2,3,4

那么字段的顺序 就是查询结果对应后面的顺序.

由此我们知道了字段的查询顺序。

接着,将被显示出来数字对应的字段更改为database()

以2为例

1 union select 1,database(),3,4

那么原来2的地方就会返回当前的数据库的名字。

4.通过mysql的information_schema库来查询对应的表名

select 1,table_name,3,4 from information_schema.tables where table_schema=database

5通过对应的表名来获取字段名

select 1,column_name from information_schema.columns where table_name = table_name

6通过字段和表来获取数据

由此,整个sql注入的流程就结束了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值