代码审计-未授权访问漏洞

admin 2024年5月7日12:43:31评论7 views字数 1743阅读5分48秒阅读模式

代码审计必备知识点:

1代码审计开始前准备:

环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。

2、代码审计前信息收集:

审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。

3、代码审计挖掘漏洞根本:

可控变量及特定函数,不存在过滤或过滤不严谨可以绕过导致的安全漏洞。

4、代码审计展开计划:

审计项目漏洞原理->审计思路->完整源码->应用框架->验证并利用漏洞。

代码审计两种方法

功能点或关键字分析可能存在漏洞

-抓包或搜索关键字找到代码出处及对应文件

-追踪过滤或接收的数据函数,寻找触发此函数或代码的地方进行触发测试。

-常规或部分MVC模型源码可以采用关键字的搜索挖掘思路。

-框架MVC 墨香源码一般会采用功能点分析抓包追踪挖掘思路。

1.搜索关键字找敏感函数

代码审计-未授权访问漏洞

2.根据目标功能点判断可能存在的漏洞

代码审计-未授权访问漏洞

常见漏洞关键字:

SQL注入:

select insert update mysql_query mysqli等

文件上传:

$_FILES,type="file",上传,move_uploaded_file()等 

XSS跨站:

print print_r echo sprintf die var_dump var_export等

文件包含:

include include_once require require_once等

代码执行:

evalassert preg_replace call_user_func call_user_func_array等

命令执行:

systemexec shell_exec `` passthru pcntl_exec popen proc_open等

变量覆盖:

extract()parse_str() import_request_variables() $$ 等

反序列化:

serialize()unserialize() __construct__destruct等

文件读取:

fopen file_get_contentsfreadfgetsfgetssfilefpassthruparse_ini_filereadfile等

文件删除:

unlink()remove()等

文件下载:

download()download_file()

通用关键字:

$_GET,$_POST,$_REQUEST,$_FILES,$_SERVER等

案例:审计-BossCMS1.0-未授权访问漏洞

1.CNVD发现漏洞基础信息,得知漏洞存在于Bosscms1.0版本

代码审计-未授权访问漏洞

2.查看官方更新文档,得知在bosscms1.2版本修复了漏洞

代码审计-未授权访问漏洞

3.下载好1.01.2版本,使用工具Beyond Compare进行对比

打开工具——选择文件夹对比——分别将源码拖入工具左右两边——点击差别显示差异——点开源码各个文件——两个文件中间显示不等于的就是有更改的地方

代码审计-未授权访问漏洞

4.通过两个版本的代码差异成功找到漏洞产生位置

代码审计-未授权访问漏洞

5.使用phpstorm打开源码,来到admin.classs.php漏洞产生位置。通关配合官方修复代码发现:检测代码只检测了用户是否登录后台,并没有在代码中停止未登录用户的未授权请求(如:修路工人(检测代码)告诉我不可以往前走(检测到我没有登录),但是只拦住了我的车(跳转到登录验证)并没有拦住我(没有停止我的请求),所以我还是可以继续往前走(代码继续执行),达到我的目标)

代码审计-未授权访问漏洞

6.知道了漏洞如何产生,就可以全局搜索看看都有哪些文件继承了admin类,这些继承了admin类的类都是存在未授权访问漏洞的。

代码审计-未授权访问漏洞

7.在这些类中找到一个拥有删除方法的类。删除方法中的$file变量是由变量$id控制,而$id的值是由get方式传递由id接收的。因为方法中还有一个if判断:所以删除的时候还需要以post方式给url传递参数。

代码审计-未授权访问漏洞

8.在网站根目录创建一个1.txt文件,退出管理员登录后访问删除方法的地址并且传递参数进行未授权删除。

创建文件:

代码审计-未授权访问漏洞

退出登录:

代码审计-未授权访问漏洞

访问地址传递参数进行删除:

代码审计-未授权访问漏洞

执行的时候会跳转到登录验证

代码审计-未授权访问漏洞

但是来到网站根目录下1.txt文件已经被删除了。成功在没有登录管理员账户的情况下执行了管理员才能进行的删除操作

代码审计-未授权访问漏洞

原文始发于微信公众号(小黑子安全):代码审计-未授权访问漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月7日12:43:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   代码审计-未授权访问漏洞https://cn-sec.com/archives/2714291.html

发表评论

匿名网友 填写信息