首页 » SEO优化 » php盘算id1技巧_SQL注入最易懂系列教程1事理和分类

php盘算id1技巧_SQL注入最易懂系列教程1事理和分类

访客 2024-11-22 0

扫一扫用手机浏览

文章目录 [+]

所谓SQL注入,便是通过把SQL命令插入到 Web表单提交 或 URL 或 页面要求等的查询字符串中,终极达到欺骗做事器实行恶意的SQL命令。

注:从这句话看出常见的注入点在

php盘算id1技巧_SQL注入最易懂系列教程1事理和分类

a. web表单

php盘算id1技巧_SQL注入最易懂系列教程1事理和分类
(图片来自网络侵删)

b. URL链接中

c. 登录框(页面要求查询)

2.SQL注入事理

SQL注入(SQLInjection)是这样一种漏洞:当我们的Web app 在向后台数据库通报SQL语句进行数据库操作时。
如果对用户输入的参数没有经由严格的过滤处理,那么攻击者就可以布局分外的SQL语句,直接输入数据库引擎实行,获取或修正数据库中的数据。

SQL注入漏洞的实质是把用户输入的数据当做代码来实行,违背了“数据与代码分离”的原则。

SQL注入漏洞有两个关键条件,理解这两个条件可以帮助我们理解并防御SQL注入漏洞:

用户能掌握输入的内容Web运用实行的代码中,拼接了用户输入的内容

我们以DVWA漏洞演示环境举列子

我们在输入框中输入1,点击submit,页面返回如图红框中数据。

这里有履历的渗透老司机就知道,是web运用查询了数据库,获取了useid为1的数据。

这里我们大胆预测一下这里的SQL语句长什么样子呢

select Firstname, sunname from XXX where userid= 我们输入的ID

当我们在输入框中输入1时sql语句为:

select Firstname, sunname from XXX where userid= '1'

由回显数据我们得到Id为1的firstname,sunname的字段内容

但是当我们在输入框中输入如下内容时

1' union select 1,database()%23(‘%23’为’#’的url编码,’#’为mysql注释符,注释掉后面的语句)

此时实行的数据库命令是:

select Firstname, sunname from XXX where userid= '1' union select 1,databsae()#

不仅可以得到id为1的firstname,sunname字段内容,还可以得到当前数据库名

这样如果攻击者布局更多的SQL语句,哪么数据库里的信息都会被攻击者得到,造成数据透露。

3.SQL注入的产生

动态字符串构建禁绝确的处理转义字符(宽字节注入)禁绝确的处理类型(报错透露信息)禁绝确的处理联合查询禁绝确的处理缺点(报错透露信息)禁绝确的处理多次提交(二次注入)不屈安的数据库配置默认预先安装的用户以root、SYSTEM 或者Administrator权限系统用户来运行默认许可很多系统函数(如xp_cmdshell, OPENROWSET 等)

4.SQL注入的浸染

绕过登录验证(万能密码等)获取敏感数据(获取数据库中的信息)文件操作(读取、写入文件等)实行系统命令等等

5.常见的SQL注入分类

A.按照数据库实行结果是否显示到页面上分类

a.SQL回显注入(数据库的实行结果直接显示到页面上)

SQL回显注入又可以分为:

01:union联合查询注入

02:报错注入

b.SQL盲住(不显示到页面上)

SQL 盲住又可以分为:

01:布尔盲住

02:韶光注入

B.按照注入点类型来分类

数字型注入点在 Web 端大概是 http://xxx.com/news.php?id=1 这种形式,其注入点 id 类型为数字,以是叫数字型注入点。
这一类的 SQL 语句原型大概为 select from 表名 where id=1。
字符型注入点在 Web 端大概是 http://xxx.com/news.php?name=admin 这种形式,其注入点 name 类型为字符类型,以是叫字符型注入点。
这一类的 SQL 语句原型大概为 select from 表名 where name='admin'。
有时候是是双引号:where name=\"大众admin\公众,把稳多了引号。
搜索型注入点这是一类分外的注入类型。
这类注入紧张是指在进行数据搜索时没过滤搜索参数,一样平常在链接地址中有“keyword=关键字”,有的不显示在的链接地址里面,而是直接通过搜索框表单提交。
此类注入点提交的 SQL 语句,其原形大致为:select from 表名 where 字段 like '%关键字%'。

C.按照数据提交的办法来分类

这种分类实在只是 HTTP 通报数据的办法不同,严格来议和 SQL 没多大关系,但是在编写 PoC (漏洞验证程序)的时候,这会影响到我们的代码中发送数据的形式,以是我在这里提出来了。

GET 注入提交数据的办法是 GET , 注入点的位置在 GET 参数部分。
比如有这样的一个链接 http://xxx.com/news.php?id=1 , id 是注入点。
POST 注入利用 POST 办法提交数据,注入点位置在 POST 数据部分,常发生在表单中。
Cookie 注入HTTP 要求的时候会带上客户真个 Cookie, 注入点存在 Cookie 当中的某个字段中。
HTTP 头部注入注入点在 HTTP 要求头部的某个字段中。
比如存在 User-Agent 字段中。
严格讲的话,Cookie 实在该当也是算头部注入的一种形式。
由于在 HTTP 要求的时候,Cookie 是头部的一个字段。
标签:

相关文章

QQ聊天恶搞代码技术背后的趣味与风险

人们的生活越来越离不开社交软件。在我国,QQ作为一款历史悠久、用户众多的社交平台,深受广大网民喜爱。在QQ聊天的过程中,恶搞代码的...

SEO优化 2025-03-02 阅读1 评论0

Python代码截屏技术与应用的完美融合

计算机屏幕截图已经成为人们日常生活中不可或缺的一部分。无论是分享工作成果、记录游戏瞬间,还是保存网页信息,屏幕截图都发挥着重要作用...

SEO优化 2025-03-02 阅读1 评论0

QQ无限刷礼物代码技术突破还是道德沦丧

社交平台逐渐成为人们生活中不可或缺的一部分。QQ作为我国最具影响力的社交软件之一,其丰富的功能吸引了大量用户。近期有关QQ无限刷礼...

SEO优化 2025-03-02 阅读1 评论0