SQL Injection(SQL注入)-DVWA

@ZZHow(ZZHow1024)

一、Low 级(基本没有做防护或者只是最简单的防护)

引用:

博客园 SQL注入注释符(#、-- 、//)使用条件及其他注释方式的探索 [ https://cnblogs.com/impulse-/p/13184023.html ]

含义:把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。

思路:判断是否存在注入,注入命令查询数据

实操:

1.先正常操作一次,观察URL变化

  • 例如,输入2,点击Submit
  • 观察到URL变为
    • http://xxx.xxx.xxx.xxx:8000/vulnerabilities/sqli/?id=2&Submit=Submit#
  • 分析URL,发现id=参数与输入的数字对应

2.判断是否存在注入

  • 修改URL,id后加入1‘ and ‘1’ = ‘2判断注入类型
    • http://xxx.xxx.xxx.xxx:8000/dvwa/vulnerabilities/sqli/?id=1’ and ‘1’='2&Submit=Submit#
    • 完整的SQL语句:SELECT first_name,last_name FROM users WHERE user_id = ‘1’ and ‘1’='2’;(红色为添加的部分)
    • 发现返回的结果为空,证明查询条件判断恒为假。
  • 修改URL,id后加入1’ or ‘321’='321判断注入类型
    • http://xxx.xxx.xxx.xxx:8000/dvwa/vulnerabilities/sqli/?id=1’ or ‘321’='321&Submit=Submit#
    • 完整的SQL语句:SELECT first_name,last_name FROM users WHERE user_id = ‘1’ or ‘321’='321’;(红色为添加的部分)
    • 发现返回的结果为users表中所有的用户数据,证明查询条件判断恒为真。
  • 同时,由单引号判断,这是一个字符型SQL注入。

3.判断字段数

  • 加入单引号’ ,且在语句末尾加上注释符–+(注意后面得跟上+)
    • 存在注入点,且单引号闭合

插一句话:SQL语句中的两个注释符(#和–)在使用上有一些区别。如果你在Hackbar中使用了–那么你就需要跟上+,而且#不生效。而如果你在文本框中使用#那么是生效的。这是由于URL编码造成的。详见https:/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值