加解密、二次、DNSlog注入
加解密
 实例
 sqli-labs-master/Less-21/
 登录抓包
 
 抓包结果
 
 将uname的内容一看就是加密内容,我们进行解密,我们看解密结果
 我们将%3D是ascii码的‘=’号,我们将其修改回来
 
 这时我们需要进行cookie注入时就需要进行加密注入
 
uname=YWRtaW4ZIGFuZCAnMScgPScyJyAtLSs=
 注入报错了,存在注入
 
 sqlmap也存在base64的插件
也可以自己写脚本
<?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加密,再进行访问,图中用的是我自己的服务器
二次注入
 黑盒测试一般是找不到的,必须看源码,审计时才能找到
 实例
 sqli-labs-master/Less-24/index.php
 注册两个账号分别为
| 账号 | 密码 | 
|---|---|
| 1234 | 1234 | 
| 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='
      
     
    pass′whereusername=′username’ and password=‘$curr_pass’ ";
 当我们进行修改时就会发现,账户名后面的内容被注释了,从而达到二阶注入的目的
因此我们可以想到在第一个用户名上加上其他信息,例如:1234’ union select 1,version(),3 #
 其他内容进行进行
dnslog带外注入
 解决了盲注不能回显,效率低的情况
 其实用处不大
 需要高权限,需要用的文件读取
 load_file()
 这次没有完成实操
 软件:










