SQL 注入教程

SQL 注入测评教程

1     准备

安装包:Burpsuit、Python27、sqlmap

2     安装配置

2.1    Burpsuit

1)       解压Burpsuit

2)       双击运行BurpUnlimited.jar(注:该工具基于java,提前安装好java运行环境)

3)       设置,如图所示

2.2    Python

然后,运行下载的MSI安装包,在选择安装组件的一步时,勾上所有的组件:

特别要注意选上pip和Add python.exe to Path,然后一路点“Next”即可完成安装。

默认会安装到C:\Python27目录下,然后打开命令提示符窗口,敲入python后,会出现两种情况:

情况一:

看到上面的画面,就说明Python安装成功!

你看到提示符>>>就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()并回车,就可以退出Python交互式环境(直接关掉命令行窗口也可以!)。

情况二:得到一个错误:

‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。

这是因为Windows会根据一个Path的环境变量设定的路径去查找python.exe,如果没找到,就会报错。如果在安装时漏掉了勾选Add python.exe to Path,那就要手动把python.exe所在的路径C:\Python27添加到Path中。

如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,记得勾上Add python.exe to Path。

2.3    Sqlmap

下载地址:http://sqlmap.org/

Step: SQLMap安装

2.3.1.  将下载的SQLMAP安装包解压到文件夹sqlmap中,并拷贝到 "C:\Python27" 目录下;

2.3.2. 然后在桌面新建立一个cmd的快捷方式,并命名为“SQLMap”;

2.3.3.  然后在新建快捷方式上右键“属性”,将“起始位置”修改为 C:\Python27\sqlmap,然后确定;

2.3.4.  双击刚才创建的快捷方式,输入sqlmap.py -h,出现如下信息则表示安装成功。

3     使用

3.1    打开系统待测试页面

例如,打开HIS系统,进入系统管理-用户维护页面。

设置IE代理服务器,与Burpsuit中的设置应一致,如图所示

3.2    进行测试

1)例如,在用户维护页面,输入职员姓名:“王……”(随意输入)。

此时,在Burpsuit 中抓取到相关信息

2)将抓取到的内容复制到test.txt中,并放置在sqlmap的根目录下。

3)打开sqlmap,输入命令  sqlmap.py -r test.txt

输出操作系统、数据库类型、web服务器类型信息。判断可注入。

4)进一步输入命令:sqlmap.py -r test.txt --dbs,得到数据库信息

5)输入命令:sqlmap.py -r test.txt --passwords,得到用户、密码等

原文地址:https://www.cnblogs.com/LightColorHy/p/9938575.html

时间: 2024-07-30 10:53:03

SQL 注入教程的相关文章

【sql注入教程】SQL注入是什么?我们如何去玩转它

本文转自:i春秋社区 SQL注入攻击是黑客攻击数据库最常见手段之一.简单讲,SQL注入攻击是黑客利用网站程序漏洞,通过提交精心构造的SQL语句,以达到窃取数据库信息.修改破坏数据库为目的的攻击行为.SQL注入攻击方式非常隐蔽,不容易被察 觉,攻击成功所导致的后果严重,所以对网络安全危害巨大,对自己的网站都会造成不必要的损失,因此如何防范SQL注入攻击是很值得学习的, 很多人声称自己了解sql注入 但是他们听说经理的情况比较常见 sql注入是影响企业运营最具有破坏性的漏洞之一 他会泄露保存在应用程

SQL注入实战新手教程

本文章仅用于网络安全交流学习,严禁用于非法用途,否则后果自负 一.如何批量找SQL注入(工具+资源都打包):http://www.liuwx.cn/post-149.html 1.SQL注入点搜索关键字集合:http://blog.sina.com.cn/s/blog_6910b7580101ci62.html 谷歌SQL关键字:https://www.exehack.net/779.html 2.我测试出来较好用的关键字:inurl:common.asp?id=  inurl:asp?id= 

DWVA手把手教程(二)——SQL注入

欢迎来到sql注入章节,此次我们使用的工具为sqlmap. 我们已经察觉到了经典参数id的存在,厚着脸皮的说一句:sql注入漏洞是存在的. 那么我们应该如何去证明呢? 好习惯,先抓包,get方法提交的,掏出万能的sqlmap.. 划重点,敲黑板,懵逼时刻:302? 在这里我们无视它(才不是没看懂的说)直接回车看会发生什么. "假的吧!!我的sqlmap从来没靠谱过!!"咳咳,这句话我已经喊了俩月了.. 原因其实很简单,sqlmap对该页面的访问被重置到了登陆界面. 所以在这里我们要赋予

基于dvwa环境下级别为low的SQL手工注入教程

基于dvwa环境下级别为low的SQL手工注入教程: 首先是进入已搭建好的dvwa环境中去(一定要搭建好dvwa环境才能进行下面的操作),这可能会是一些初学者所面临的的第一个问题,比如我,曾为了寻找这个入口,浪费了不少的时间,所以在这里就提一下,最好是能够记住,忘了的话可以随时过来看一下:http://127.0.0.1/DVWA/setup.php. 按照提示点击最下面的按钮创建数据库,创建成功就会直接进入登录页面进行登录,然后就可以直接访问http://127.0.0.1/DVWA/logi

基于错误回显的sql注入整理

由于复习,停了好几天,今天换换模式做了一下关于错误回显的ctf题目,首先附上题目:here 整理了一下网上的一些关于错误回显的方法,在这里就不带上地址了,请大牛们原谅:P 0x00 关于错误回显 用我自己的话来讲,基于错误回显的sql注入就是通过sql语句的矛盾性来使数据被回显到页面上(当然在实际应用中得能回显在页面上,一般的网站都回避免这种情况,哈哈,要是能碰上你就偷着乐吧). 0x01  用于错误回显的sql语句(下面的函数撸主只在mysql下试过也能成功,其他数据库有待考证,待有实例的时候

最全防止sql注入方法

最全防止sql注入方法 发布时间: 2012-04-5 浏览次数:19361 分类: PHP教程 (1)mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)."' and password='&q

SQL 注入攻击

一位客户让我们针对只有他们企业员工和顾客能使用的企业内网进行渗透测试.这是安全评估的一个部分,所以尽管我们之前没有使用过SQL注入来渗透网络,但对其概念也相当熟悉了.最后我们在这项任务中大获成功,现在来回顾一下这个过程的每一步,将它记录为一个案例. "SQL注入"是一种利用未过滤/未审核用户输入的攻击方法("缓存溢出"和这个不同),意思就是让应用运行本不应该运行的SQL代码.如果应用毫无防备地创建了SQL字符串并且运行了它们,就会造成一些出人意料的结果. 我们记录下

Java防止SQL注入2(通过filter过滤器功能进行拦截)

首先说明一点,这个过滤器拦截其实是不靠谱的,比如说我的一篇文章是介绍sql注入的,或者评论的内容是有关sql的,那会过滤掉:且如果每个页面都经过这个过滤器,那么效率也是非常低的. 如果是要SQL注入拦截,可以在数据访问上层的业务层用方法的形式进行手动过滤还靠谱些. 或者使用SQL的参数形式进行,这个绝对是百分百搞得定. 关于SQL注入解释,参考:http://www.cnblogs.com/EasonJim/p/6223216.html 关于filter过滤器使用教程,参考:http://www

mysql绑定参数bind_param原理以及防SQL注入

假设我们的用户表中存在一行.用户名字段为username.值为aaa.密码字段为pwd.值为pwd.. 下面我们来模拟一个用户登录的过程.. <?php $username = "aaa"; $pwd = "pwd"; $sql = "SELECT * FROM table WHERE username = '{$username}' AND pwd = '{$pwd}'"; echo $sql; //输出 SELECT * FROM ta