【SQL注入-6】二次注入 加解密等等

在这里插入图片描述

加解密注入

即get或者post的参数采用了base64等加密方式将数据进行加密,在通过参数传递给服务器
即:如果想要对这个网站,再ID处进行注入,需要先编写sql注入语句,然后在进行base64编码
案例:sql-libs–21
在这里插入图片描述
为cookie注入
ookie注入的原理是:就是修改cookie的值进行注入
♦cookie注入其原理也和平时的注入一样,只不过注入参数换成了cookie
♦要进行cookie注入,我们首先就要修改cookie,这里就需要使用到Javascript语言了。另外cookie注入的形成有两个必须条件:
条件1是:程序对get和post方式提交的数据进行了过滤,但未对cookie提交的数据库进行过滤。
条件2是:在条件1的基础上还需要程序对提交数据获取方式是直接request(“xxx”)的方式,未指明使用request对象的具体方法进行获取,也就是说用request这个方法的时候获取的参数可以是是在URL后面的参数也可以是cookie里面的参数这里没有做筛选,之后的原理就像我们的sql注入一样了。
cookie注入原理详解(一)
cookie注入的三种方法(靶场实例绕过WAF)
在这里插入图片描述

将注入的sql语句经过base64加密之后放入cookie
在这里插入图片描述
在这里插入图片描述
其他操作与普通注入相同

**

二次注入

**
二次注入可以理解为,构造恶意数据存储在数据库后,恶意数据被读取并进入到了SQL查询语句所导致的注入。恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。

二次注入一般从源代码得知 手动 黑盒 工具等一般无法发现

二次注入可分为两步:

第一步:插入恶意数据
进行数据库插入数据时,对其中的特殊字符进行了转义处理,在写入数据库的时候又保留了原来的数据。
第二步:引用恶意数据
开发者默认存入数据库的数据都是安全的,在进行查询时,直接从数据库中取出恶意数据,没有进行进一步的检验处理。
在这里插入图片描述

利用注册用户等插入语句,将恶意代码插入数据库中,再执行查询等语句,将恶意代码与sql语句进行拼接执行,从而达到注入的目的。

案例:sqli-libs–24

思路
已知有一个用户admin,可以根据二次注入的思想,我们可以创建一个admin’#的用户,之后可以进行更改密码等操作,那原来的SQL语句可能为

update password=$new where username=$name and .....

将admin’#带进去

update password=$new where username=admin' and .....

这样就会将后面的都注释掉,而我们更改用户的密码也变成了更改了admin用户的密码

在这里插入图片描述
创建相似的user
修改密码后
创建的dhakkan’#用户没有改变密码 dhakkan用户修改了密码

在这里插入图片描述

查看php源码
在这里插入图片描述

$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";

可以使用上一章的报错注入
进行update报错注入
如果存在命名长度限制

前端
可以自己修改
后端
无法破

*DNSlog带外注入*
解决盲注回显效率低的问题
(存在盲注无法回显的情况)

dnslog注入也可以称之为dns带外查询,是一种注入姿势,可以通过查询相应的dns解析记录,来获取我们想要的数据。

带外注入是为了解决一些注入没有回显,也不能进行时间盲注的情况。
通常用在哪些地方
1.SQL注入中的盲注
在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显
2.无回显的命令执行
我们在读取文件、执行命令注入等操作时无法明显的确认是否利用成功
3.无回显的SSRF

中转注入

如果,网站URL的注入点是经过编码的,不能直接结合sqlmap进行漏洞利用,所以本地搭建一个网站,写一个php脚本编码文件,就可以结合sqlmap工具进行测试。
因为,注入点经过复杂编码之后,就不能直接结合sqlmap进行漏洞攻击了。或者sqlmap自己编写tamper脚本进行攻击

<?php
$url='http://www.xxx.com/?id=';
$playload=base64_decode($_GET['x']);
$urls=$url.$playload;
file_get_contents($urls);
?>

(如果网站注入点为base64编码可以如此,若为其他,可以修改base64_decode)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值