化妆品排行榜
  1. 首页 >
  2. 美妆资讯 >
  3. 美妆 >
  1. 初学万能密码代码审计

美妆资讯
初学万能密码代码审计
2023-08-05

今天我们来分析一个密码重置漏洞的靶场文章很水本人白盒实在太菜第一次的代码审计 谢谢各位大佬指点我们搭建这个靶场 用到的工具phpstudy下载靶场 然后放在phpstudy域名站点管理里面

端口随意 只要不是80就行了然后访问这个网址 www.a.com:3456

我们访问这个靶场的后台因为这个是存在密码重置漏洞的 我们直接使用 ‘ or 1# 登录来抓包

我这边使用的是或火狐插件 live HTTP headers 来抓包的 网上有xpi 可以直接安装抓到包之后 我们把这个参数复制下来:user_name=11111&user_pass=1111www.a.com:3456/checkUser.php因为我这块抓了两次包 所以前面图片上的网址不是真正的网址 www.a.com:3456/checkUser.php 这个才是我们点击这里:

点击split URL 然后会出现这个用户名或者密码错误我们使用万能密码: ‘or 1#

把万能密码放到用户名这块然后点击 split URL登录直接登录成功为什么导致这样子呢?我们直接看源码

我这边用的是这个Pycharm 你们也可以使用别的编译器我们找到这个文件 checkUser.php 这个文件然后我们可以看到 if(isset(_POST[“user_name”]) && isset(_POST[“user_name”]) && isset(_POST[“user_pass”]))Isset函数是检测变量是否设置 若变量不存在则返回False我们可以看到password=md5(password=md5(password); 这个是加密的我们可以试试将万能密码放到密码那里

明显是不可行的我们可以看到这边执行了sql语句 并赋值给了$sql我们可以使用vardump来打印出来

我们在前台执行看看:

这是登录成功的sql语句:string(98) “select * from users where user_name=’xxxx’ or 1#’ and user_pass=’6512bd43d9caa6e02c990b0a82652dca’”这是登录失败后的sql语句就是把万能密码加在密码那里:

我们可以使用sql命令行来执行一下:

这个是直接可以执行成功的我们继续往下看:

这里new 了一个mysql对象 我们直接查看类

在lib目录下的mysql.class.php这里是一个类

直接看查询数据的地方这里是查询单行res=res=this->link->query(sql);sql);row = $res->feach_assoc();这里是查询数据库 它定义了一个函数 public 是修饰符Fetch_assoc 这个是查询单行 就是查询一行

我们继续用vardump来看一下

它返回的是3条数据前面它使用了feach_assoc(); 每次查询一条数据你们可以去实验一下 使用万能密码登录用户的时候,他是第一条数据 不是后面的数据,这次简单的代码理解就到这里因为实在不会白盒只能水文章了呜呜呜呜呜

书籍资料,私信“白嫖”可得

版权声明:CosMeDna所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系删除!

本文链接://www.cosmedna.com/article/441156727.html