SQL注入 01

0x01 用户、脚本、数据库之间的关系

首先客户端发出了ID=36的请求,脚本引擎收到后将ID=36的请求先代入脚本的sql查询语句Select * from A where id = 36 , 然后将此代入到数据库中进行查询,查到后将返回查询到的所有记录给脚本引擎,接着脚本引擎根据自己写的过滤函数和编码特殊字符等,生成一个静态页面返回给客户端,最后将网站返回的网页展示给用户(那这里的意思就是先将查询语句实现进行查询,然后当数据库返回给脚本引擎的时候再进行过滤

0x02  SQL注入的定义

就是通过sql命令插入到web表单递交或输入域名或请求的查询字符串,最终达到欺骗服务器执行恶意代码的过程

具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句

0x02.1 成因

用于未对用户的输入做好过滤,导致用户将恶意代码SQL语句输入进来,带到后端进行查询,查询到本不应该出现的数据

0x03 触发SQL注入

所有的输入只要和数据库进行交互的,都有可能触发SQL注入

常见的包括:

1、GET参数触发SQL注入

2、POST参数触发SQL注入

3、COOKIE 触发SQL注入

4、其他参与sql执行的输入都有可能进行SQL注入

0x04 SQL注入的过程

1、客户端:参数值等数据被修改

2、服务端:未经过检查和过滤就将被修改的数据注入到SQL命令中,SQL命令功能被修改

3、数据库引擎:执行被修改后的数据

4、服务端:将注入结果返回给客户端

5、客户端:根据上一次获取到的敏感信息构造注入语句进行更一步的注入

0x05 SQL注入场景

一切用户可控参数的地方,比如:URL路径、GET/POST请求参数、HTTP请求头

0x06 SQL注入作用

  • 绕过登录验证:使用万能密码登录网站后台
  • 获取敏感数据:获取网站管理员账号、密码等
  • 文件系统操作:列目录,读取,写文件等
  • 注册表操作:读取、写入、删除注册表等
  • 执行系统命令:远程执行命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fatsheep洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值