我们没有什么不同,天黑时我们仰望同一片星空。

SQLMap的前世今生(Part1)

上一篇 / 下一篇  2015-10-26 10:20:05 / 天气: 冷 / 心情: 平静 / 个人分类:闲谈

0x00 前言


谈到SQL注入,那麽第一时间就会想到神器SQLMAP,SQLMap是一款用来检测与利用的SQL注入开源工具。那麽SQLMap在扫描SQL的逻辑到底是怎样实现的呢,接下来就探讨下SQLMap的扫描逻辑,通过了解SQLMap的扫描逻辑打造一款属于自己的SQL扫描工具。

0x01 SQL扫描规则:


要了解SQLMap的扫描规则,也就是Payload,那麽到底Payload是哪里来,是根据什么逻辑生成的呢,接下来必须先了解几个文件的,SQLMap的扫描规则文件位于\xml文件夹中,其中boundaries.xml与Payloads文件夹则为SQLMap的扫描规则所在,\xml\payloads中的6个文件,里面的6个文件分别是存放着不同注入手法的PAYLOAD。

那麽就必须了解两个格式,一是boundary文件,一是payloads。

例子:

1
2
3
4
5
6
7
8
<boundary>
    <level>1</level>
    <clause>1</clause>
    <where>1,2</where>
    <ptype>1</ptype>
    <prefix>'</prefix>
    <suffix> AND '[RANDSTR]'='[RANDSTR]</suffix>
</boundary>
  1. clause与where属性

    这两个元素的作用是限制boundary所使用的范围,可以理解成当且仅当某个boundary元素的where节点的值包含test元素的子节点,clause节点的值包含test元素的子节点的时候,该boundary才能和当前的test匹配,从而进一步生成payload。

  2. prefix与suffix属性

要理解这两个属性的作用,那麽就先利用一段代码去讲解。

1
2
3

TAG:

 

评分:0

我来说两句

日历

« 2023-01-08  
1234567
891011121314
15161718192021
22232425262728
293031    

我的存档

数据统计

  • 访问量: 4603
  • 日志数: 5
  • 建立时间: 2015-10-22
  • 更新时间: 2015-10-26

RSS订阅