2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

WEB 2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

加解密,二次,DNSlog 注入,堆叠查询注入

注入原理,演示案例,实际应用(中转注入)

演示案例

sqlilabs-less21-cookie&加解密注入(实际案例)

  • 为什么要加密进行注入?

    ​ 答:代码中对cookee进行base64_decode解码,解码之后带入数据库中。所以我们在注入语句要按照它的加密方式进行加密,然后再提交。

    2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
  • 进行抓包,我们可以看到数据包中uname的值是被加密的

    2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
  • 把%3D改成=号,Decode as base64,利用编码插件得出结果。

    2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
  • 注入类型为cookie,我们先构造好注入代码admin’ and 1=1,再进行加密后进行注入操作

    2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
  • 发现没有回显,我们在这里使用上节课的报错注入方式,我们先将对应注入语句进行base64加密,接着进行注入(这里以获取数据库版本号进行演示,其他2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入) 2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

sqlilabs-less24-post 登陆框&二次注入(实际案例)

  • 与之前注入的区别:

    • 无法通过扫描工具或者代码自己手工测试出来的,二次注入一般在审计代码过程中发现的!
    • 从前端或者黑盒测试无法看到
  • 二次注入原理,主要分为两步:

    • 第一步:插入恶意数据

      ​ 第一次进行数据库插入数据的时候,仅仅对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,但是数据本身包含恶意内容。

    • 第二步:引用恶意数据
      在将数据存入到了数据库中之后,开发者就认为数据是可信的。在下一次需要进行查询的时候,直接从数据库中取出了恶意数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

  • 演示过程:

    • 首先进行用户的注册(插入恶意数据)

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

    • 查看数据库,注册成功!

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
    • 成功登录进去,这时候要求我们进行密码的修改,在这里我们将密码修改成xxxxxx(引用恶意数据)

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

    • 成功修改,我们再次查看数据库,发现被改密码的是dhakkan,二次注入到此成功!

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

    • 我们对源码再次进行研究,来进一步明白二次注入的思路所在

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
    • 小知识点:如果账号密码长度被限制了,应该如何处理?

      • 如果在前端有限制,我们可以在前端修改代码(按f12进行size值修改即可)
      • 如果在后端有限制,数据库里面的数据刚开始就设定长度的情况下,我们是无法修改其长度的。

sqlilabs-less9-load_file&dnslog 带外注入(实际案例)

  • 条件:高权限,文件读取操作

  • 解决了盲注不能回显数据,效率低的问题

  • 原理介绍:

    1. 通过这个登录注册网站获取到对应 Identifier和API Token

    2. 进行对应语句的输入,在这里我以获取版本为例子

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
    3. 在对应网站,我们就可以看到版本信息

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
  • 工具使用

    • 在这个网站中下载压缩包,解压在python2文件中

    • 根据github上的要求对配置文件进行修改,打开配置文件config.py修改

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
    • 创建一个bat文件(内容为:cmd.exe),双击打开后进入命令行,输入命令 python dnslogSql.py 启动

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
    • 接着对应的规则进行注入即可

      Usage: dnslogSql.py [options] -u http://10.1.1.9/sqli-labs/Less-9/?id=1' and ({})--+  如果没有单引号干扰,可以去掉id后面的分号 如过没有其他符号干扰,可以去掉后面的--+  Options: --version             show program's version number and exit -h, --help            show this help message and exit -n TASKNAME, --name=TASKNAME                         task name -t THREAD_COUNT, --thread=THREAD_COUNT                         thread_count -u URL, --url=URL     target include injection -i INF, --inf=INF     Testing target and Try to get information --dbs                 get database -D DB                 database name --tables              get table -T TABLE              table name --columns             get column -C COLUMN             column name --dump                get data 
  • Sqlmap Base64编码注入

    • 使用工具中tamper目录下自带的插件,详情点击这个网站 https://www.bbsmax.com/A/A2dmVVQBze/

    • 在没有插件和插件不能满足我们需求的时候,我们该怎么办?

      • 我们可以进行二次开发,对语言没有限制,在这里我们使用php代码为例(file_get_contents详解),代码如下

        //test.php  <?php  $url='http://xxxx/job_bystjb/yjs_byszjs.asp?id=';  $payload=base64_encode($_GET['x']);  echo $payload;  $urls=$url.$payload;  file_get_contents($urls);  echo $urls;  ?>      
      • 打开sqlmap执行这个语句:python sqlmap.py “http://127.0.0.1/test.php?x=” -v 3

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

堆叠查询注入

​ St2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

  • 案例演示(sqliabs Less-38)

    • 我们要输入的注入语句为

      http://127.0.0.1/sqlilabs/Less-38/?id=1';insert into users(id,username,password) values ('38','less38','hello')--+ 
    • 我们进行注入后网页返回如下

      2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)
    • 再次查看数据库,发现增加一条记录,这也是我们注入的语句

    2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入)

  • 涉及资源

    http://ceye.io/

    https://github.com/ADOOO/DnslogSqlinj

     

    最后感谢小迪师傅的视频!!

    笔记来源视频:点击这里

    版权声明:玥玥 发表于 2021-08-25 20:50:54。
    转载请注明:2020小迪培训(第16天 WEB 漏洞-二次,加解密,DNS,堆叠注入) | 女黑客导航