博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql注入在线检測(sqlmapapi)
阅读量:6277 次
发布时间:2019-06-22

本文共 1493 字,大约阅读时间需要 4 分钟。

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

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

    以下通过实例演示怎样使用:

一.启动server端

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

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

1.新建任务

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

          

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

      3.查看扫描状态

       任务已经结束。能够获取扫描结果了

      4.查看扫描结果

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

嘿嘿,是不是非常easy,但非常强大啊,事实上假设深入源代码查看,你会发现也非常easy。

比方说启动一个任务,

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 None    def engine_kill(self):        if self.process:            return self.process.kill()        else:            return None    def engine_get_returncode(self):        if self.process:            self.process.poll()            return self.process.returncode        else:            return None    def engine_has_terminated(self):        #怎样任务没有结束,returncode的返回值为None        return isinstance(self.engine_get_returncode(), int)
我们restful api设计也是非常有讲究的,一般少用动词,而是通过http的方法代表动作。比方说获取状态。并非getstatus,而是通过get方法。和status名称就非常贴切。

但有时动词是不可避免的,怎样说start,stop等。事实上看看新建任务的api设计作者肯定也非常纠结。本来假设新建任务有參数的话,直接post方法就能够,压根不须要new这个动词。但因为新建任务不须要不论什么參数。使用post方法也不太恰当,所以改为get方法了。这也符合上面开启任务使用post。而停止任务使用的是get。

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

你可能感兴趣的文章
.NET成年了,然后呢?
查看>>
Leaf——美团点评分布式ID生成系统
查看>>
Redis集群中的节点如何保证数据一致
查看>>
jsp里面不能使用${pageContext.request.contextPath}解决方案
查看>>
Spring注解之 @EnableScheduling计划任务注解
查看>>
解决 IDEA 中src下xml等资源文件无法读取的问题
查看>>
error: each element of 'ext_modules' option must be an Extension instance or 2-tuple
查看>>
(总结)Nginx配置文件nginx.conf中文详解
查看>>
openssl用法详解
查看>>
[Java web]Spring+Struts2+Hibernate整合过程(2)
查看>>
基于ThinkPHP与阿里大于的PHP短信验证功能
查看>>
ASP.NET Core 2 学习笔记(十二)REST-Like API
查看>>
react 调用 function 的写法 及 解决 react onClick 方法自动执行
查看>>
adb 切换android输入法
查看>>
OSAL工作机制分析
查看>>
Spring Cloud入门教程(二):客户端负载均衡(Ribbon)
查看>>
BZOJ2681 : 玩游戏2
查看>>
Solr DocValues详解
查看>>
java file
查看>>
sed替换换行符“\n”
查看>>