首页 » NetworkSec » Penetration » 正文

浅谈union注入

0x00 概述

union注入是一种简单有效的注入方式,以前只是套公式或者sqlmap刷,此文简述其原理(侧重点在union select)。
 

0x01 union注入

环境:sqli-labs
1. 判断列数
order by / group by
union select 要求两个表查询的字段数必须相同,否则报错(列名以第一个select为准)


2. 使原数据查询为空
如id=2改为id=-2或id=2000000查询不存在的数据则为空,就可以显示要查询的敏感数据(防止正常数据干扰)

3. 使用1,2,3,4,5占位
如union select 1,2,3,4,5判断出可以显示的位置(显示位),如果要求字段类型也要相同,则使用null代替数字。
4. 将数字替换成敏感数据
如union select 1,2,user(),database(),5


 

0x02 sqli-labs lesson 1

字符型注入
1. 判断列数
3对4错,列数3
Id=1‘ group by 3– –

2. 使原数据查询为空&&数字占位
Id=-1’ union select 1,2,3– –

显示位2 3
3. 替换显示位为敏感数据
id=-1′ union select 1,user(),database()– –

 

0x03 结语

union注入方便高效。

本文共 2 个回复

  • LSA Blogger 2018/09/07 10:38

    更多关于SQL注入的文章,请搜索sql注入 :razz:

  • Tom 2018/09/07 10:51

    Easy to understand.

Comment

please input captcha *