之前一搞渗透的同事问我,sqlmapapi.py是干啥的,我猜很多人都玩过sqlmap,但玩过sqlmapapi的应该比较少,今天就和大家一起看看如何使用以及一些美的地方。

说白了,sqlmapapi.py就是提供了一个检查sql注入的接口,我们可以直接通过发送http请求扫描sql注入,获取扫描结果等一系列操作。

下面通过实例演示如何使用:

一.启动服务器端

服务器后端使用的是bottle,一个Python Web微框架。

二. 我们使用requests这个库发送请求

1.新建任务

2.发送扫描选项,开启扫描

注意:那个cd92e4e99406715b就是新建任务返回的taskid

3.查看扫描状态

任务已经结束,可以获取扫描结果了

4.查看扫描结果

我们很明显的看出是存在sql注入的

嘿嘿,是不是很简单,但很强大啊,其实如果深入源码查看,你会发现也很简单。

比如说启动一个任务,

def engine_start(self):self.process = Popen("python sqlmap.py --pickled-options %s" % base64pickle(self.options),shell=True, stdin=PIPE, close_fds=False)

其它的也是一目了然,

   def engine_stop(self):if self.process:return self.process.terminate()else:return Nonedef engine_kill(self):if self.process:return self.process.kill()else:return Nonedef engine_get_returncode(self):if self.process:self.process.poll()return self.process.returncodeelse:return Nonedef engine_has_terminated(self):#如何任务没有结束,returncode的返回值为Nonereturn isinstance(self.engine_get_returncode(), int)

我们restful api设计也是很有讲究的,一般少用动词,而是通过http的方法代表动作。比如说获取状态,并不是getstatus,而是通过get方法,和status名称就很贴切。

但有时动词是不可避免的,如何说start,stop等。其实看看新建任务的api设计作者肯定也很纠结,本来如果新建任务有参数的话,直接post方法就可以,压根不需要new这个动词。但由于新建任务不需要任何参数,使用post方法也不太恰当,所以改为get方法了。这也符合上面开启任务使用post,而停止任务使用的是get。

更多细节问题需要大家去看文档或源码,刚好趁着这个机会好好分析下subprocess模块和bottle框架,后期也会有这方面的分析。

sql注入在线检测(sqlmapapi)相关推荐

  1. SQL注入:SQL注入类型(手动)SQL注入的检测

    一.SQL注入流程 1.判断是否有SQL注入漏洞(检测) 2.判断操作系统.数据库和web应用类型 3.获取数据库信息,包括管理员信息及拖库 4.加密信息破解,sqlmap可自动破解 5.提升权限,获 ...

  2. 对搜狐 网易和TOM三大门户网站的SQL注入漏洞检测

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 对搜狐. ...

  3. sql注入漏洞检测攻略

    sql注入漏洞检测攻略 一.注入分类 1.可回显注入 2.不可回显注入 3.二次注入 二.如何判断 1.基于报错的检验 2.通过布尔的检验 3.通过连接符+ 三.绕过 1.过滤关键字 2.过滤空格 3 ...

  4. 渣渣白教你使用工具Safe3 SQL注入安全检测工具

    说明:1.  未经授权的渗透测试都是违法的! 2.  文章用红色字体编写的部分是关键部分(认真看)!!! 3.  文章用黑色字体编写的部分是渣渣白内心独白,无关紧0! 4.  文章用其他颜色字体编写的 ...

  5. 记一次成功的sql注入入侵检测附带sql性能优化

    很多同学和园友都遇到过sql注入的,其中大部分都是代码的不严谨造成的,都是犯过很多错误才学会认真起来. 但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序 ...

  6. SQL 注入漏洞检测与利用

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,它是利用现有应用程序将(恶意的)SQL命令注入到后台数据库引擎执行的能力, ...

  7. 每日分享-sql注入简单检测小工具(仅供参考学习)

    python版本:3.9.6 代码如下: #!/usr/bin/python3 # -*- coding:UTF-8 -*- import requests url = 'http://localho ...

  8. 渗透之——SQL注入点检测方法

    转载请注明出处:https://blog.csdn.net/l1028386804/article/details/84929699 现在有很多防注入程序屏蔽了 and.1=1.1=2 类似这样的关键 ...

  9. Sqlmap速查表/功能移植/Python批量检测SQL注入

    title: Sqlmap速查表与Python进行功能移植 copyright: true top: 0 date: 2021-02-27 11:59:00 tags: [扫描注入,注入,sqlmap ...

最新文章

  1. Qt学习之路(58): 进程间交互
  2. 撸完这些JVM知识点,明天就去面试阿里P6+
  3. SQL 查找重复记录
  4. [leetcode]376. 摆动序列
  5. 【linux高级程序设计】(第十一章)System V进程间通信 1
  6. 死锁问题------------------------INSERT ... ON DUPLICATE KEY UPDATE*(转)
  7. IndentationError: expected an indented block 解决
  8. N元语言模型的训练方法
  9. 手把手教你 VSCode搭建STM32开发环境
  10. 分数阶微积分_通知 | 上海大学理学院微积分小导师答疑第一期
  11. java 函数参数后加throw_函数后面加throw关键字
  12. c语言hook函数,另类iOS上的C函数hook
  13. App Store 评分和评论:用户评论如何影响 App Store 排名
  14. 2022年Gartner新兴技术、人工智能技术成熟度曲线概述
  15. Winograd 卷积计算
  16. vue 组件开发 ---- rui-vue-poster 海报制作
  17. linux防火墙富规则,[Linux]Redhat7防火墙配置汇总
  18. linux ls搜索 开头,linux中怎么用ls查找以la开头的文件
  19. GAMES104 B1+B2 引擎的结构与开发分层
  20. 由asn1编码引发对sm2签名长度思考

热门文章

  1. 安超云专家荟 | 中立而自由的ArSDN
  2. 【软件部署】Linux系统yum方式安装Jenkins
  3. 手持设备的可用性研究
  4. urovo手持终重启_手持终端设备常见问题及维修方法
  5. 文件------概念、基本操作、打开文件的方式、按行读取文件内容、复制文件、文件/目录的常用管理操作、文本文件的编码格式、练习1-4
  6. 其他算法-建立在流形上的降维UMAP
  7. 在故事板中加载 nib 时 IBOutlet 为 nil
  8. 插值查找(在数据是差值排序的时候比二分快)
  9. 一文读懂无线充电技术(附方案选型及原理分析)
  10. Yahoo Programming Contest 2019.D.Ears(DP)