SQL注入(dvwa环境)

首先登录DVWA主页:

1、修改安全级别为LOW级(第一次玩别打脸),如图中DVWA Security页面中。

2、进入SQL Injection页面,出错了。(心里想着这DVWA是官网下的不至于玩不了吧。。)

网页错误提示:Parse error: syntax error, unexpected ‘[‘in C:\xampp\htdocs\DVWA\vulnerabilities\sqli\index.php on line 65

赶紧打开index.php文件,这提示报错65行看看PHP代码!(内心是不愿意的,我是学java的)

$num = mysqli_fetch_row( $result )[0];

---->猜测放回类型不是数组,就将[0]去掉试了一下就可以了=。=(留给PHP的朋友去看具体吧,在下先用着)

3、一次奇葩的经历后开始尝试第一次的SQL注入。

根据上面的提示,输入用户的id,它将返回了关于这个user的信息。这里先输入了“1”试试。

成功返回数据,发现浏览器的地址栏的url成了:

http://192.168.204.132/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#

换个输入值2又变成:

http://192.168.204.132/DVWA/vulnerabilities/sqli/?id=2&Submit=Submit#

输入单引号‘尝试,发现页面报错:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘‘‘‘ at line 1

由于用户输入的值为ID,因此我们习惯判断这里的注入类型为数字型,因此尝试输入:1 or 1=1 ,看能否查询:

并且地址栏为http://192.168.204.132/DVWA/vulnerabilities/sqli/?id=1+or+1%3D1&Submit=Submit#

所以猜测后台程序将此值当做字符型,于是输入:1‘or‘1‘=‘1,结果成功返回多行数据:(好激动的说)

从OWASP测试指南上(http://www.owasp.org.cn/owasp-project/download/OWASP_testing_guide)看还有

Union查询SQL注入、盲SQl注入、SUBSTRING(text,start,length)、预程序注入。

接下来分析字段数:有两种方法

方法一:用order bynum语句。

分析字段数的原因是我们之后需要用union select语句来获得我们需要的敏感数据。根据order by知识知道,

要是后面跟着的数字超出了字段数时,就会报错!通过这个我们可以确定字段数。

,所以字段数为2

方法二:直接用union select来猜测字段数。

因为当字段数不对应的时候,它也是会发生报错的!

1‘ union select 1#-------出错The used SELECT statements have a different number of columns

1‘ union select 1,2#-------正常,所以字段数为2

使用Union all结合利用user(),及database(),version()等三个内置函数。得到连接数据库账户信息、数据库名称、数据库版本信息。

1‘ and 1=2 union select user(),database()#------成功得到数据库信息!!!

使用Union all结合利用mysql默认的数据库infromation_scehma,该数据库存储了Mysql所有数据库和表的信息。

1‘ and 1=2 union select 1,schema_name from information_schema.schemata#---------(可怕~)

总结一下今天SQL注入的第一次体验:大致思路如下

1、寻找注入点,应该可以通过web扫描工具实现。

2、通过注入点,尝试获得关于连接数据库用户名、数据库名称、连接数据库用户权限、操作系统信息、数据库版本等相关信息。

3、猜解关键数据库表及其重要字段与内容(常见如存放管理员账户的表名、字段名等信息)

4、可以通过获得的用户信息,寻找后台登录入口。

5、利用后台了解进一步信息,提权,直到拿到服务器权限。

非常感谢原博主的分享,受益颇深:http://blog.csdn.net/qq_20745827/article/details/68944753

原文地址:https://www.cnblogs.com/zysps1/p/sql_insert.html

时间: 2024-07-31 01:54:02

SQL注入(dvwa环境)的相关文章

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

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

通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解

0x1:工具和环境介绍 dvwa:渗透测试环境 BurpSuite:强大的WEB安全测试工具 sqlmap:强大的sql注入工具 以上工具和环境都在kali linux上安装和配置. 0x2:步骤说明 配置Burp Suite和浏览器. 这一步比较简单,主要是用来抓取用来sql注入的信息. 在Burp中设置proxy代理:127.0.0.1:8080,配置浏览器使用代理,这样浏览器的request信息就可以被Burp抓取了. 抓取登录信息 在Burp的Proxy界面可以抓取到浏览器访问的信息,如

记一次dvwa sql注入爆库

一 前期准备 1 sqlmap在windows环境下需要python2.7的支持,在python官网下载即可 https://www.python.org/ 2 安装python2.7,默认即可.安装完成后需要配置下环境变量.右击计算机->高级系统设置->环境变量,找到系统变量的Path选项,双击,在最后添加;C:\Python27":"必须要有,如果有其他python,可以删掉.这是我的安装路径. 3 按windows+R,输入cmd打开dos界面,输入python进行测

DVWA篇之SQL注入

SQL Injection本文需要的实验环境及搭建请访问:DVWA篇之环境搭建 SQL注入就是通过把sql语句插入到web表单提交或输入页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 Sql注入的一般流程: 1.判断注入点2.判断注入类型3.判断数据库类型4.获取数据库权限,提权 Low级别我们先来分析一下源码,同时再一步步操作,验证我们的分析源码关键部分:我们可以看到,当进行查询参数id的时候没有进行任何过滤,很明显存在注入漏洞的.1. 这时我们试试判断注入点可以输入单引号看是否

DVWA 安装使用 & SQL注入学习心得(一)

DVWA 环境搭建和安装简易使用 下载安装phpstudy,这部分不用说了,肯定大家都有,或者安装过.在浏览器输入127.0.0.1,测试一下. 官网下载DVWA http://www.dvwa.co.uk ,解压后放在phpstudy的www目录下. 此时mysql的密码还是空,登录的时候会提示不能空,可以从phpstudy的界面[其他选项菜单]->[My SQL工具]->[重置密码]. 将DVWA/confing下的config.inc.php.dist修改为config.inc.php,

DVWA(三):SQL injection 全等级SQL注入

(本文不定期更新) 一.所需环境: 1.DVWA 2.web环境 phpstudy/wamp 3.burp suite 二.SQL注入产生的原因: 程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患 用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据或进行数据库操作. 三.关于SQL注入需要注意的几个点: 1.SQL注入的攻击流程: (1)判断注入点:一般分为三大类 GET.POST参数触发SQL注入,Cookie触发注入 (2)判断注入类

使用sqlmap注入DVWA的SQL Injection菜单

1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用admin/password登陆系统,通过firebug工具获取cookie信息. 得到的cookie信息如下: security=low; path=/dvwa/; domain=192.168.0.112 PHPSESSID=0bec860709d15f590768b7713c69b52f; pa

【DVWA】【SQL Injection】SQL注入 Low Medium High Impossible

1.初级篇 low.php 先看源码,取得的参数直接放到sql语句中执行 if( isset( $_REQUEST[ 'Submit' ] ) ) { // Get input $id = $_REQUEST[ 'id' ]; // Check database $query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';"; http://localhost/DVWA-master/vulnerabi

[经验技巧] “php+mysql+apache”环境搭建及"手动SQL注入",20180527-0

[经验技巧] "php+mysql+apache"环境搭建及"手动SQL注入" 1."php+mysql+apache"环境搭建 环境载体:虚拟机Window7 Service Pack 1 旗舰版 下载"phpStudy (php5.2) " 链接:http://www.phpstudy.net/phpstudy/phpStudy(PHP5.2).zip 文件见附件1. 安装"phpStudy (php5.2) &