【业务安全04】万能用户名及万能密码
目录
- 1 实验介绍
- 1.1 实验目的
- 1.2 实验环境
- 2 实验
- 2.1 实验分析
- 2.2 实验过程
- 3 总结
1 实验介绍
1.1 实验目的
- 由于网页服务端对代码的过滤不够严谨,可能会存在万能用户名或万能密码绕过的风险。
- 加深对网页代码和SQL代码的理解。
1.2 实验环境
- 实验靶场——虚拟机:本节实验靶场是在win2008系统上基于phpstudy搭建的一个简单网站,win2008及phpstudy的安装过程可以参考《win2008R2SP1+WAMP环境部署》,网站的搭建过程可以参考《综合实验:一个简单丑陋的论坛网站》。
- 本实验在该论坛的登录页面进行实验。
- 该网站对登录账号密码的验证代码如下所示。
<meta charset = "utf-8">
<?php
include "../inc/dblink.inc.php";
?>
<?php
if (isset($_POST['userSubmit'])){//var_dump($_POST);$sql = "select * from users where name = '".$_POST['userName']."' and password ='".md5($_POST['userPass'])."'";//echo $sql;if ($results = mysqli_query($link,$sql)){if (mysqli_num_rows($results) > 0){setcookie ('name',$_POST['userName'],time()+3600,"/");echo "登录成功,请返回<a href = '../index.php'>首页</a>或<a href = './index.php'>个人中心</a>";}else{echo "账号或密码错误,请<a href = './login.php'>重新输入</a>";}}else{die(mysqli_error($link));}
}else{echo "请输入账号密码";
}
?>
<html>
<form method = "post" target = "_blank">
用户名:<input type = "text" name = "userName"><br>
密码:<input type = "password" name = "userPass"><br>
<input type="submit" name="userSubmit" value="登录">
</form>
</html>
<?php
mysqli_close($link);
?>
2 实验
2.1 实验分析
- 上述代码第8行用于在数据库中检验客户端输入账号密码是否存在,而能否登录成功关键在于第10行 if 语句判断条件是否为真,也就是说只要构造的用户名或密码能让SQL语句能成功查询并返回结果,就能实现登录。
- 由于SQL语句采用的是单引号闭合的方式,因此所构造的语句需要注意屏蔽前后的单引号,采用不同用户名及密码的组合进行实验结果如下。
用户名 | 密码 | 结果 | 分析 |
---|---|---|---|
aaa’ or 1=1# | 随意 | 成功 | 采用单引号屏蔽变量前的单引号,采用#注释掉变量后续语句 |
aaa’ or ‘1’='1 | 随意 | 失败 |
因为and的优先级比or的优先级高, 语句先执行 '1'='1' and password = '随意' 语句得到false,再执行 name = 'aaa' or false ,结果还是false,所以SQL语句无法查询到内容,登录失败. |
a’ or ‘1’='1 | 随意 | 成功 |
与上一组合不同的是,此处a是刚好碰到数据库中有该用户名, 所以or语句执行成功,适合用于爆破特定用户名 |
随意 | aaa’ or 1=1# | 失败 | 由于密码字段在代码中被MD5编码过,无法实现语句构造的功能 |
随意 | aaa’ or ‘1’=‘1’ | 失败 | 同上 |
- 当后台代码对输入参数进行过滤转换时,需要注意思考之前学过的各种绕过技巧。
2.2 实验过程
- 在登录界面输入用户名
aaa' or 1=1#
,密码随意,如下,点击登录。
- 可以看到成功登录。
- 点击个人中心,可以看到目前登录的账户是数据库中注册的第一个账号。
3 总结
- 加深理解SQL语句构造与绕过;
- 掌握万能用户名与密码检测的方法。
【业务安全04】万能用户名及万能密码相关推荐
- 万能用户名和万能密码
万能用户名 any' union select * from user – (后面有个注释符) 联合查询,是查询的结果大于1,为真 万能用户名防御 PDO $username=$REQUEST['us ...
- 23-mysql万能用户名和万能密码
1.万能密码 注入的时候写入 用户名 aa 密码 'bb' or 1=1 2.万能用户名 注入的时候 用户名为(注意:不加sql中的分号): aa union select * fro ...
- php万能注入密码,php下的SQL注入万能用户名和密码
1.针对有单引号的情况 : 万能密码 : select * from users where username='xxxx' and password='xxxxxx' or 1='1'; 万能用户名 ...
- WIFI密码破解 WIFI万能钥匙 显示连接密码去除广告优化版
WIFI密码破解 WIFI万能钥匙 显示连接密码去除广告优化版 ◎基于国内最新版(理论支持安卓P) ◎更换包名,不更新,不翻车,稳定好用 ◎全新显密,获取到的密码将在热点下方着色显示 ◎智能显密,没有 ...
- ubuntu-18.04 修改用户名密码
1. 开放root登录 设置root密码 $ sudo passwd root 切换到root 用户 $ sudo -i 修改/etc/pam.d/gdm-autologin $ vim /etc/p ...
- Ubuntu18.04设置1位数简单密码(三十二)
Ubuntu18.04设置1位数简单密码 大家用Ubuntu设置密码是会遇到一个痛点,假如设置简单的密码时,会提示让设置更复杂的密码,下面通过一种方法可以设置简单密码. # sudo passwd 用 ...
- dropbear 用户名_openwrt默认密码
Openwrt没有现成的密码!你必须要在你通过telnet第一次登陆的时候设置一个.任何全新的被安装上的Openwrt镜像,都会开启这些默认设置: dnsmasq (DHCP daemon) (一个负 ...
- 进入计算机用户名和密码,巧用U盘进入设密码系统免于输入用户名和登录密码...
巧用U盘进入设密码系统免于输入用户名和登录密码 发布时间:2014-04-30 17:27:58 作者:佚名 我要评论 在登录时免于输入用户名和登录密码,而一旦移走了这些设备,系统便可以设置为 ...
- JWT 添加用户名或邮箱 密码校验
JWT 用户名或邮箱 密码校验 参考 https://learnku.com/articles/6216/laravel-uses-jwt-to-implement-api-auth-to-build ...
- 修改用户名_新华美育查找用户名及修改密码的方法分享
阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以免费收到最新内容了.每天都有分享,完全是免费订阅,请放心关注. 声明:本文转载自网络,如有侵权,请在后台留言联系我 ...
最新文章
- 第19课:Spark高级排序彻底解密
- Future 和 ExecutorCompletionService 对比和使用
- python在mac上_在Mac上Python多版本切换
- VHDL设计脉搏计的课程设计
- npm --- 包的发布与导入
- SaaS模式云数据仓库:持续保护云上数据及服务安全
- 千亿云计算产业加速跑 多云管理助推上云率
- 修改软件的ico图片方法
- 在ppt中怎么加入倒计时 里面怎么加入倒计时【方法】
- 2022年电工(初级)操作证考试题库及模拟考试
- win7搜索文件内容
- Docker学习(2)-Docker基础1
- u盘制作启动盘后空间容量变小解决方法
- 香农采样定理和奈奎斯特采样定理
- webpack css-loader style-loader scss-loader cssloader模块化
- 机器学习-无监督学习-聚类:聚类方法(二)--- 基于密度的聚类算法【DBSCAN文本聚类算法,密度最大值文本聚类算法】
- 硬解直显模式实现抓图功能(二)
- Richard Matthew Stallman
- 利用java代码一键生成数据库文档
- odoo12 学习: 无效视图 xxxx xxxx xxxx 定义 False
热门文章
- java ppt模板_java循环ppt模板
- 聊天类APP的测试点
- Vue+websocket+django实现WebSSH demo
- Git遇到的问题:This is not a valid source path/URL
- WebClient Exceeded limit on max bytes to buffer : 262144 异常解决
- linux python2.7安装pip_linux安装pip2.7
- Findbugs异常总汇
- python之论文降重工具
- 九连环问题c语言程序,九连环游戏的算法源代码
- 《Python知识手册》V2.1版,高清PDF免费获取