E053-web安全应用-Brute force暴力破解初级

课程分类:

web安全应用

实验等级:

中级

任务场景:

【任务场景】

小王接到磐石公司的邀请,对该公司旗下的网站进行安全检测,经过一番检查发现该论坛的后台登录页面上可能存在万能密码漏洞,导致不知道账号密码也能登录后台,造成用户的隐私信息的泄露、网页被篡改、网页被挂马、服务器被远程控制,服务器被安装后门等风险。为了让公司管理人员更好的理解并修补漏洞,小王用DVWA情景再现。

任务分析:

【任务分析】

登录是先通过表单获取到值,再对应到数据库里去查询,如果有对应的值则登录成功,如果没有则登录失败。但是如果Web管理员在设计上没有对一些关键字进行过滤的话,就会导致'且'运算或者'或'运算带入到数据库里查询,那么当php语言执行为真的时候,就会绕过验证程序直接进入后台。

预备知识:

【预备知识】

And逻辑运算结果:真-真=真、假-真=假、真-假=假、假-假=假

Or逻辑运算结果:真-真=假、假-真=真、真-假=真、假-假=假


任务实施:

E053-web安全应用-Brute force暴力破解初级

任务环境说明:

服务器场景:p9_kali-2(用户名:root;密码:toor)

服务器场景操作系统:Kali Linux 192.168.32.123

服务器场景:p9_ws03-3(用户名:administrator;密码:123456)

服务器场景操作系统:Microsoft Windows2003 Server 192.168.32.190


网络结构

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

实战复现:

打开火狐浏览器,在地址栏输入靶机的地址访问网页,使用默认用户名admin密码password登录:

在DVWA页面点击"DVWA Security" 选择难易程度为"Low" ,然后点击"Submit" 提交:

在导航栏点击Brute Force进入登陆框页面:

查看登录框的源代码:

select * from user where username='username' and password ='password'

可以看到Username登录点的参数会传输到$username

Password登录点的参数会传输到$password

那么我们可以构造一个简单的Payload语句进行注入,在账号里输入:admin' and 1=1 #,密码为空:

显示登录成功:

登录成功了,为什么不需要输入密码就能登录?

把Payload语句放到这段代码分析

$sql = select * from user where username|'and password='$password';

在账号地方输入admin' and 1=1 #后SQL语句变成

$sql = select * from user where username='admin' and 1=1 #|' and password='$password';

输入admin'使用单引号闭合让admin成一个字符串,后面跟一个逻辑运算把admin判断为真,再用一个"#"号注释掉后面的代码,也就是接收密码的那一段代码,就达到万能密码绕过程序验证的效果了。

那么根据运算符,再测试几组


And逻辑运算符,真-假=假

admin' and 1=2#

And逻辑运算符,假-真=假

admin' and 2=1#

Or逻辑运算符,真-假=真

admin' or 1=2 #

Or逻辑运算,假-真=假

admin' or 2=1 #

实验结束,关闭虚拟机。

相关推荐
计算机学姐15 分钟前
基于PHP的电脑线上销售系统
开发语言·vscode·后端·mysql·编辑器·php·phpstorm
中文很快乐41 分钟前
springboot结合p6spy进行SQL监控
java·数据库·sql
iSee8571 小时前
imo云办公室 Imo_DownLoadUI.php 任意文件下载漏洞复现
安全
BLEACH-heiqiyihu1 小时前
红帽9中nginx-源码编译php
运维·nginx·php
不会代码的小徐1 小时前
Django SQL注入-漏洞分析
安全·网络安全
专家大圣1 小时前
云原生信息安全:筑牢数字化时代的安全防线
安全·云原生
666786661 小时前
Mysql高级篇(中)—— SQL优化
linux·运维·服务器·数据库·sql·mysql
翔云API1 小时前
人证合一接口:智能化身份认证的最佳选择
大数据·开发语言·node.js·ocr·php
知识分享小能手2 小时前
mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
大数据·开发语言·数据库·sql·学习·mysql·数据开发