Sqlmap的sqlmapapi.py简单使用

look:

stamparm commented on 24 Feb 2014

@riramar

There is currently none :). I'll just give you a quick intro.

At server side:

$ python sqlmapapi.py -s -H 0.0.0.0
[19:42:00] [INFO] Running REST-JSON API server at '0.0.0.0:8775'..
[19:42:00] [INFO] Admin ID: cfdd0c84a8ebbccf40a97fe6eaaeac9d
[19:42:00] [DEBUG] IPC database: /tmp/sqlmapipc-QUdQ7m
[19:42:00] [DEBUG] REST-JSON API server connected to IPC database

At client side:

$ curl http://127.0.0.1:8775/task/new
{
    "taskid": "4be40bb5e98a03c2", 
    "success": true
}
$ curl -H "Content-Type: application/json" -X POST -d '{"url": "http://testphp.vulnweb.com/artists.php?artist=1"}' http://127.0.0.1:8775/scan/4be40bb5e98a03c2/start
{
    "engineid": 3068, 
    "success": true
}
$ curl http://127.0.0.1:8775/scan/4be40bb5e98a03c2/data
{
    "data": [], 
    "success": true, 
    "error": []
}
$ curl http://127.0.0.1:8775/scan/4be40bb5e98a03c2/log
{
    "log": [
        {
            "message": "testing connection to the target URL", 
            "level": "INFO", 
            "time": "19:44:23"
        }, 
        {
            "message": "testing if the target URL is stable. This can take a couple of seconds", 
            "level": "INFO", 
            "time": "19:44:24"
        }, 
        {
            "message": "target URL is stable", 
            "level": "INFO", 
            "time": "19:44:25"
        }, 
        {
            "message": "testing if GET parameter 'artist' is dynamic", 
            "level": "INFO", 
            "time": "19:44:25"
        }, 
        {
            "message": "confirming that GET parameter 'artist' is dynamic", 
            "level": "INFO", 
            "time": "19:44:25"
        }, 
        {
            "message": "GET parameter 'artist' is dynamic", 
            "level": "INFO", 
            "time": "19:44:26"
        }, 
        {
            "message": "heuristic (basic) test shows that GET parameter 'artist' might be injectable (possible DBMS: 'MySQL')", 
            "level": "INFO", 
            "time": "19:44:26"
        }, 
        {
            "message": "testing for SQL injection on GET parameter 'artist'", 
            "level": "INFO", 
            "time": "19:44:26"
        }, 
        {
            "message": "testing 'AND boolean-based blind - WHERE or HAVING clause'", 
            "level": "INFO", 
            "time": "19:44:26"
        }, 
        {
            "message": "GET parameter 'artist' seems to be 'AND boolean-based blind - WHERE or HAVING clause' injectable ", 
            "level": "INFO", 
            "time": "19:44:27"
        }, 
        {
            "message": "testing 'MySQL >= 5.0 AND error-based - WHERE or HAVING clause'", 
            "level": "INFO", 
            "time": "19:44:27"
        }, 
        {
            "message": "testing 'MySQL >= 5.1 AND error-based - WHERE or HAVING clause (EXTRACTVALUE)'", 
            "level": "INFO", 
            "time": "19:44:27"
        }, 
        {
            "message": "testing 'MySQL >= 5.1 AND error-based - WHERE or HAVING clause (UPDATEXML)'", 
            "level": "INFO", 
            "time": "19:44:28"
        }, 
        {
            "message": "testing 'MySQL >= 4.1 AND error-based - WHERE or HAVING clause'", 
            "level": "INFO", 
            "time": "19:44:28"
        }, 
        {
            "message": "testing 'MySQL >= 5.0 OR error-based - WHERE or HAVING clause'", 
            "level": "INFO", 
            "time": "19:44:28"
        }, 
        {
            "message": "testing 'MySQL >= 5.1 OR error-based - WHERE or HAVING clause (EXTRACTVALUE)'", 
            "level": "INFO", 
            "time": "19:44:29"
        }, 
        {
            "message": "testing 'MySQL >= 5.1 OR error-based - WHERE or HAVING clause (UPDATEXML)'", 
            "level": "INFO", 
            "time": "19:44:29"
        }, 
        {
            "message": "testing 'MySQL >= 4.1 OR error-based - WHERE or HAVING clause'", 
            "level": "INFO", 
            "time": "19:44:29"
        }, 
        {
            "message": "testing 'MySQL OR error-based - WHERE or HAVING clause'", 
            "level": "INFO", 
            "time": "19:44:29"
        }, 
        {
            "message": "testing 'MySQL >= 5.0 error-based - Parameter replace'", 
            "level": "INFO", 
            "time": "19:44:30"
        }, 
        {
            "message": "testing 'MySQL >= 5.1 error-based - Parameter replace (EXTRACTVALUE)'", 
            "level": "INFO", 
            "time": "19:44:30"
        }, 
        {
            "message": "testing 'MySQL >= 5.1 error-based - Parameter replace (UPDATEXML)'", 
            "level": "INFO", 
            "time": "19:44:30"
        }, 
        {
            "message": "testing 'MySQL inline queries'", 
            "level": "INFO", 
            "time": "19:44:30"
        }, 
        {
            "message": "testing 'MySQL > 5.0.11 stacked queries'", 
            "level": "INFO", 
            "time": "19:44:31"
        }, 
        {
            "message": "testing 'MySQL < 5.0.12 stacked queries (heavy query)'", 
            "level": "INFO", 
            "time": "19:44:31"
        }, 
        {
            "message": "testing 'MySQL > 5.0.11 AND time-based blind'", 
            "level": "INFO", 
            "time": "19:44:31"
        }, 
        {
            "message": "GET parameter 'artist' seems to be 'MySQL > 5.0.11 AND time-based blind' injectable ", 
            "level": "INFO", 
            "time": "19:44:42"
        }, 
        {
            "message": "testing 'MySQL UNION query (NULL) - 1 to 20 columns'", 
            "level": "INFO", 
            "time": "19:44:42"
        }, 
        {
            "message": "automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found", 
            "level": "INFO", 
            "time": "19:44:42"
        }, 
        {
            "message": "ORDER BY technique seems to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test", 
            "level": "INFO", 
            "time": "19:44:42"
        }, 
        {
            "message": "target URL appears to have 3 columns in query", 
            "level": "INFO", 
            "time": "19:44:43"
        }, 
        {
            "message": "GET parameter 'artist' is 'MySQL UNION query (NULL) - 1 to 20 columns' injectable", 
            "level": "INFO", 
            "time": "19:44:44"
        }, 
        {
            "message": "the back-end DBMS is MySQL", 
            "level": "INFO", 
            "time": "19:44:45"
        }
    ], 
    "success": true
}
可能是更好的调用sqlmap的方法吧, 先研究到这了。

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
 JVM——性能监控与故障处理工具 HotSpot虚拟机提供了许多虚拟机运行时调试工具,方便开发人员在应用运行时对虚拟机和应用性能进行监控和优化。 jps:JVM Process Status Tool 显示指定系统内所有的HotSpot 虚拟机进程。并显示虚拟机执行主类(Main Class, main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID ( LVMID, Local Virtual Machine Identifier) 。 jps 命令格式: jps [ options

学习mvc这一路 - 2015-04-11 20:04:47

        从.NET开始的MVC的起步,一路磕磕绊绊,不断地挖坑,填坑,让后让自己越埋越深,中间总有一段时间会停下来,做其他的,下次再上手的时候,发现又不一样,其实是一件很有意思的事。简单说一下这些跟mvc有关的东西。 一、Mvc 设计模式          Mvc是一种软件设计模式,代表了一种多层的应用程序实现方式,mvc模式将应用程序实现分为三个不同的基本部分。         模型:表示数据和业务处理         视图:是用户看到并与之交互的界面         控制器:接受用户的输入并调

分布式缓存--MVC+EF+Memcache - 2015-04-11 14:04:15

一、从单机到分布式 现在三台机器组成一个Web的应用集群,其中一台机器用户登录,然后其他另外两台机器如何共享登录状态? 解决方案: 1、AspNet进程外的Session 。 2、用数据库存数等钱登录状态。 3、Memcache。 二、为什么用Memcache? 1、解决高并发访问数据库带来的死锁 2、多用户端共享缓存 三、Memcache原理 其实memcache是一种windows服务,客户端发来的请求,都会被Socket服务器端接受到。存数使用键值对存储的。客户端进行存储的时候,就是找最接近valu
最近看到服务器硬盘红灯闪烁,为了了解下服务器的运行情况以及硬盘,raid是否正常,就用了dell的OpenManager,简称omsa。OpenManage可以用来监控服务器的各个 硬盘设备的运行情况,如电压,温度,内存以及硬盘,raid信息等等。 具体信息请参考:http://linux.dell.com/repo/hardware/omsa.html 首先看下omsa支持的操作系统: Red Hat Enterprise Linux 5 server Update 9 (both x86 and x8
    Linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中的两种。在2.6内核之前使用的是devfs,而devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道/dev目录下的每一个文件对应的都是一个设备,而且这些特殊文件是位于根文件系统上的,在制作文件系统的时候我们就已经建立了这些设备文件,因此通过操作这些特殊文件,可以实现与内核进行交互。     但是devfs文件系统有一些缺点:(1)比如不确定的设备映射,有时候一个设备映射的
OLTP ,也叫联机事务处理( Online Transaction Processing ),表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的 Transaction 以及 Execute SQL 的数量。在这样的系统中,单个数据库每秒处理的 Transaction 往往超过几百个,或者是几千个, Select 语句的执行量每秒几千甚至几万个。典型的 OLTP 系统有电子商务系统、银行、证券等,如美国 eBay 的业务数据库,就是很典型的

简略版本MVC框架JWork的实现 - 2015-04-11 14:04:11

1.Servlet结合JSP做MVC三层开发遇到的问题? 接着上一篇博客里面讲的实现一个简略版本的MVC框架,这个框架是基于Servlet技术的,为什么要写这个Mini版本的MVC框架呢,相信做过Servlet和JSP开发的哥们都有一个感受,贴上代码: public class UserServlet extends HttpServlet { public void doPost (HttpServletRequest request, HttpServletResponse response) thr
汉澳sinox是基于bsd unix最新内核高度成熟安全稳定可升级易维护的中文网络操作系统。 1.基于unix技术,通过坚如磐石的系统和高可靠文件系统zfs为银行等行业提供可靠的存储服务器。 2.工业级操作系统,40多年持续开发的unix,为工业自动化提供坚实基础,为atm,工控机等提供安全可靠的操作系统。 3.把普通pc打造成高级工作站,第一次把领先的unix技术带给个人电脑用户,满足图形设计、办公学习娱乐需要。 4.为企业网提供安全可靠的网络服务器,实现流畅的文件共享,网络通信各种企业网络服务,以及网
摘要: DataFrame API的引入一改RDD API高冷的FP姿态,令Spark变得更加平易近人。外部数据源API体现出的则是兼容并蓄,Spark SQL多元一体的结构化数据处理能力正在逐渐释放。 关于作者 :连城,Databricks工程师,Spark committer,Spark SQL主要开发者之一。在4月18日召开的  2015 Spark技术峰会   上,连城将做名为“四两拨千斤——Spark SQL结构化数据分析”的主题演讲。 自2013年3月面世以来,Spark SQL已经成为除Sp

Linux文件系统目录结构解析 - 2015-04-11 10:04:13

Linux系统目录结构 / 根目录: 包含了几乎所的文件目录。进入的最简单方法是:cd /。注意与根用户的区别。根用户是指系统管理员root,又为超级用户。   /boot引导程序,内核等存放的目录: 这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操作系统内核相关文件(例如vmlinuz等一般都存放在这里。在最开始的启动阶段,通过引导程序将内核加载到内存,完成内核的启动(这个时候,虚拟文件系统还不存在,加载的内核虽然是从硬盘读取的,但是