sqlmap夯编写规则是什么

  介绍

本篇内容介绍了“sqlmap夯编写规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

sqlmap简介

sqlmap是一个开源的渗透测试工具,可以用来自动化的检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。本文重点研究sqlmap的软件具体的目录结构,后续的文章也会从源码编写中,阐述sqlmap的种种编码结果。本文从结构中,可以看到sqlmap中的软件工程之美,同时从严谨的软件结构目录分类和构造中,看到sqlmap中的软件开发过程中的庞大但简洁的结构之美。

夯脚本

当我们下载了【sqlmap】的安装包,解压后到文件夹【sqlmap】,在以下路径,我们可以找到文件夹【夯】,该文件夹有很多个脚本分别对WAF进行检测,例如360年,绿盟WAF, modsecurity,百度,fortiweb, cloudflare。由此可见老外对国内的WAF也是有了解的,可见他们也会悄悄对国内的WAF进行绕过。

分析夯脚本

由于【夯】文件夹中有众多的夯脚本,限于篇幅,无法全部分析,故选取其中一个比较常用的脚本【apostrophemask。py】作为样本分析,内容是将& # 39;替换成% EF % BC % 87

这个里面会的参考内容其实就是url编码表,打开看一下就可以知道内容了

 sqlmap夯编写规则是什么

 # !/usr/bin/env  python
  #此处用法为:程序到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。这是非常好的做法
  “““
  Copyright  (c), 2006 - 2019, sqlmap  developers  (http://sqlmap.org/)
  阅读,file  & # 39;许可# 39;for  copying 许可
  “““
  #文档说明三个双引号进行多行注释,这就没有说的意义了
  得到lib.core.enums  import 优先级
  #导入sqlmap中lib \ \枚举中核心的优先函数,,LOWEST =, -100年,LOWER =, -50年只详细见enums.py
  __priority__ =PRIORITY.LOWEST
  #定义优先级,此处为级别为【最低】
  def 依赖关系():
  ,,,#定义依赖性():此处是为了和整体脚本的结构保持一致。
  ,才能通过
  ,,,# pass 不做任何事情,一般用做占位语句。为了保持程序结构的完整性。
  def 干预(有效载荷,* * kwargs):
  ,,,#定义夯脚本,有效载荷,,kwargs 为定义的参数,其中* * kwargs为字典存储,类似于,{& # 39;一个# 39;,,1,,& # 39;c # 39;:, 3, & # 39; b # 39;:, 2},
  ,,,,,,
  ,,,Replaces  apostrophe  character  (& # 39;), with  its  UTF-8  full  width  counterpart (如只& # 39;,→,% EF % BC % 87)
  #此处为夯说明,,以便使用该脚本。在本例中,该脚本可以(如只& # 39;,→,% EF % BC % 87)
  ,,,引用:,,参考内容是什么,从以下几个链接,其实就是将单引号,url 编码
  ,,,,,,,*,http://www.utf8-chartable.de/unicode-utf8-table.pl?start=65280&数量=128
  ,,,,,,,*,http://lukasz.pilorz.net/testy/unicode_conversion/,,,,,,,*,http://sla.ckers.org/forum/read.php?13, 11562年、11850年
  ,,,,,,,*,http://lukasz.pilorz.net/testy/full_width_utf/index.phps
  
  ,,,的在祝辞祝辞,夯(“1,以及& # 39;1 & # 39;=& # 39;1“)
  ,,,& # 39;1,以及% EF % BC % 871% EF % BC % 87=% 871 EF % BC % & # 39;举例,就不详细说明了
  ,,,,,,
  
  ,,,return  payload.replace (& # 39; \ & # 39; & # 39;,,“% EF % BC % 87“), if  payload  else 负载
  #替换,& # 39;,为% EF % BC % 87,最后返回负载。

编写一个夯脚本

在这里,我们尝试写一个(从网上抄一个)绕过安全狗的夯脚本,毕竟安全狗在服务器安全领域还是挺不错的,竟然还是免费的,在linux和windows上有各种版本,并且一直维护更新中。

 !/usr/bin/env  python ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, #此处代码可以直接从其他篡改复制粘贴过来
  
  “““
  Copyright  (c), 2006 - 2016, sqlmap  developers  (http://sqlmap.org/),,,,,,,
  阅读,file  & # 39;文档/复制# 39;for  copying 许可
  v0.0.1 
  2016.08.21 ,,,,,,,,,,,,,,,,,脚本说明
  “““
  
  得到lib.core.enums  import  PRIORITY ,,, #导入sqlmap中lib \ \枚举中核心的优先函数,,LOWEST =, -100年,LOWER =, -50年只详细见enums.py
  时间=priority  PRIORITY.LOW ,,,,,,,,,,,,,, #定义优先级,此处为级别为【一般】
  def 依赖关系():,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  ,,,#定义依赖性():此处是为了和整体脚本的结构保持一致。
  ,,,pass ,,,,,,,,,,,,,,,,,,,,,,,,,,,
  ,,,# pass 不做任何事情,一般用做占位语句。为了保持程序结构的完整性
  def 干预(有效载荷,kwargs):,,,,,,
  ,,,#定义夯脚本,kwargs 为字典存储,类似于,{& # 39;一个# 39;,,1,,& # 39;c # 39;:, 3},
  “““
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

sqlmap夯编写规则是什么