当前位置: 首页 > news >正文

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 #

实验结束,关闭虚拟机。

http://www.lryc.cn/news/196589.html

相关文章:

  • 外汇天眼;VT Markets 赞助玛莎拉蒂MSG Racing电动方程式世界锦标赛
  • 使用vscode + vite + vue3+ element3 搭建vue3脚手架
  • 竞赛 深度学习+opencv+python实现车道线检测 - 自动驾驶
  • spring boot 下载resources下的静态文件为流格式
  • HTML渲染过程
  • [已解决]llegal target for variable annotation
  • nodejs基于vue小型企业银行账目管理系统
  • pointnet和pointnet++点云分割和分类
  • Docker-compose和Consul
  • AFL模糊测试+GCOV覆盖率分析
  • leetcode 965.单值二叉树
  • 云计算:掌控未来,一触即发!
  • Mybatis对数据库进行增删查改以及单元测试
  • .bat 批处理 - 查看 MySQL 状态然后启动或关闭
  • 跳转传参有几种方式
  • DVWA靶场Medium难度部分解析
  • SVG图形
  • 冒泡排序和简答选择排序
  • leetcode3. 无重复字符的最长子串 [滑动窗口]
  • 软件工程与计算总结(十六)详细设计的设计模式
  • List集合拆分为多个List
  • Hadoop3教程(十三):MapReduce中的分区
  • 笔记本Win10系统一键重装操作方法
  • FilterRegistrationBean能不能排除指定url
  • 【LeetCode】36. 有效的数独
  • 华为---PPP协议简介及示例配置
  • asp.net老年大学信息VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机毕业设计
  • 模型量化笔记--对称量化和非对称量化
  • PA2019 Terytoria
  • 内容分发网络CDN分布式部署真的可以加速吗?原理是什么?