sql注入在线检測(sqlmapapi)
之前一搞渗透的同事问我。sqlmapapi.py是干啥的,我猜非常多人都玩过sqlmap,但玩过sqlmapapi的应该比較少,今天就和大家一起看看怎样使用以及一些美的地方。
说白了。sqlmapapi.py就是提供了一个检查sql注入的接口。我们能够直接通过发送http请求扫描sql注入。获取扫描结果等一系列操作。
以下通过实例演示怎样使用:
一.启动server端
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXVlZ3VhbmdoYWlkYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
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框架,后期也会有这方面的分析。
sql注入在线检測(sqlmapapi)的更多相关文章
- sql注入在线检测(sqlmapapi)
版权:http://blog.csdn.net/yueguanghaidao/article/details/38026431 每次看都不方便 摘抄下来 之前一搞渗透的同事问我,sqlmapapi ...
- SQL注入原理以及怎样避免注入
SQL注入:究竟什么时候会用到SQL呢?回答是訪问数据库的时候.也就是说SQL注入-->直接威胁到了数据源,呵呵.数据库都收到了威胁,站点还能正常现实么? 所谓SQL注入,就是通过把SQL命令插 ...
- sql 注入风险
目录 sql 注入风险 什么是sql注入呢? 查看sql注入风险 如何避免 sql 注入风险 pymysql 简单规避注入风险示列 sql 注入风险 什么是sql注入呢? 参考百度 查看sql注入风险 ...
- 第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击
第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击 sql注入攻击 也就是黑客通过表单提交的地方,在表单里输入了sql语句,就是通过SQL语 ...
- python使用sqlmap API检测SQL注入
0x00前言: 大家都知道sqlmap是非常强大的sql注入工具,最近发现他有个sqlmap API,上网查了一下.发现这是 sqlmap的微端.(可以叫做sqlmap在线检测sql注入= =) 0x ...
- WEB安全:SQL注入
SQL注入是站点和web应用程序中最常见的安全漏洞. 这样的恶意技术有非常多应用场景, 但(SQL注入)一般是指在数据输入的地方注入代码以利用数据库应用程序中的安全漏洞. SQL注入在接收用户输入的接 ...
- SQL注入攻防入门详解
=============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
- SQL注入攻防入门详解(2)
SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱 ...
- 如何向非技术人(程序猿)解释SQL注入?
前两天看博客园新闻,有一篇文章名为<我该如何向非技术人解释SQL注入?>(http://kb.cnblogs.com/page/515151/).是一个外国人写的,伯乐在线翻译的.我当时看 ...
随机推荐
- 【Leetcode】Sort List JAVA实现
Sort a linked list in O(n log n) time using constant space complexity. 1.分析 该题主要考查了链接上的合并排序算法. 2.正确代 ...
- 一个DataTable赋值给另一个DataTable的常用方法
DataView view = new DataView();view.Table = DataTableA;view.RowFilter = "itemType = 'book'" ...
- 书签(Bookmarks)
工作台允许使用者在文件中创建书签,通过这些书签,使用者可以从书签视图里快速打开这些文件,并跳转到相应的行. (1)在编辑器左边灰色的区域里单击鼠标右键,在弹出的菜单里选择“Add Bookmark.. ...
- Shapefile文件中的坐标绘制到屏幕时的映射模式设置
pDC->SetMapMode(MM_ANISOTROPIC ); //首先选择MM_ANISOTROPIC映射模式,其它映射模式都不合适 pDC->SetWindowExt( max(a ...
- 45个有新意的Photoshop教程和技巧
图形制作者和网页设计师已经准备好迎接新的Adobe Photoshop 教程了.在大家喜欢背后有许多它的理由,诸如Adobe Photoshop很容易操作,学习起来十分简单,但最重要的一点是这款软件能 ...
- 关于ES6扩展属性
ES6 let和const let命令 只在代码块作用域内有效 不存在变量提升(不能在申明之前赋值) 暂时性死区(在区域内不受外部变量影响) 不允许重复申明(在相同代码块区域内) 块级作用域 let为 ...
- KM算法详解+模板
http://www.cnblogs.com/wenruo/p/5264235.html KM算法用来求二分图最大权完美匹配. 本文配合该博文服用更佳:趣写算法系列之--匈牙利算法 现在有N男N女,男 ...
- linux下生成 SSH 公钥,用于GitHub
ssh-keygen -t rsa -C <email> 参见 https://help.github.com/articles/generating-ssh-keys/ Then add ...
- 【转】玩转log4j
原文链接:http://www.cnblogs.com/shenliang123/archive/2012/05/02/2479286.html 由于最近正在扩展卫生局考务系统,由于上一次使用过一次该 ...
- quartz中关键类
job job是一个接口,你对某一类job的定义,可以通过实现该接口来实现.例如为销售报告定义一个SalesReportJob,包含变量name. job可以使用的几个注解 @DisallowConc ...