【安全漏洞】Easy代码审计

u=235692984,1523715604&fm=253&fmt=auto&app=138&f=JPEG.jpeg

环境说明:

系统:Windows 10
集成环境:phpstudy
php版本:7.3.4
mysql版本:5.7.25
cms版本:7.7.4

查看资料

前言

现在cms一般都是基于MVC思想去开发,所以在审计这个cms时我是直接从控制器开始看的,thinkphp与laravel等开发框架会把控制器放在controller目录,这个cms的控制器是在lib目录。

目录结构

cmseasy/
|-- admin
|-- api
|-- apps
|-- cache
|-- cn
|-- common
|-- config
|-- data
|-- en
|-- html
|-- images
|-- install
|-- jp
|-- lang
|-- lib
|-- license
|-- readme
|-- sitemap
|-- sk
|-- template
|-- template_admin
|-- ueditor
|-- wap
`-- webscan360

开始审计

1.SQL注入

1.在文件lib/admin/database_admin.php的dorestore_action()方法接收到GET参数db_dir后会使用front::scan($dir)函数获取该目录下的文件名,然后将目录名与文件名传递给 tdatabase::getInstance()->restoreTables()函数,跟进该函数。


在这里插入图片描述

2.在文件lib/table/tdatabase.php的restoreTables函数可以看到,file_get_contents()函数读取文件内容后进行了字符替换与字符分割,文件内容被赋值给变量sqls,然后赋值给q,最终传递到$this->query()函数执行,继续跟进该函数。

在这里插入图片描述

3.在文件lib/inc/table.php的query函数,sql语句被传递给了this->db->query() 函数。

在这里插入图片描述

4.在文件lib/inc/dbmysqli.php的query函数,sql被传递给this->mysqli->query() 函数执行了,而在这个文件中可以看到 $this->mysqli 是mysqli 类实例化的对象。一路跟下来从文件读取内容到被执行SQL语句没有做任何安全处理。


在这里插入图片描述
在这里插入图片描述

5.从以上代码分析可知该SQL注入需要配合文件上传。

6.首先上传一个文件,该文件写入 sql 语句,注意这个文件需要是目录下的第一个文件,否则sql语句可能会查询失败。
将静态文件目录设置为 /,点击保存。这样可以保证目录下的第一个文件就是我们上传的。

在这里插入图片描述

上传文件使用 burpsuite 抓包将内容修改为sql注入语句。

在这里插入图片描述

在这里插入图片描述

7.触发SQL注入漏洞,这里其实也存在文件读取漏洞。

在这里插入图片描述

2.任意文件写入getshell

1.在文件lib/admin/table_admin.php的edit_action() 函数下,存在 file_put_contents 函数进行写入操作,文件名后缀默认为 php,POST的所有内容会在序列化之后放到 tagconfig变量,最后执行fileputcontents将tag_config 变量内容写入 php 文件。虽然 POST 的内容有被过滤,但是 POST 的参数名没被过滤,也就是说我们可以通过参数名写入 webshell。

在这里插入图片描述

2.发送构造好的请求包写入 webshell,没有回显但是没有关系文件名是可预判的。


在这里插入图片描述

3.访问webshell

在这里插入图片描述

总结

SQL注入:从文件中获取SQL语句,如果文件名与内容可控那么就可能存在SQL注入。
任意文件写入getshell:虽然POST参数的值有被过滤,但是由于使用了序列化函数导致仍然可以通过参数名写入恶意代码。

最后

关注我-持续更新······

私我获取【网络安全学习资料·攻略

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • sql注入漏洞 1.基本技巧 sql注入漏洞通常有两种利用方式。一种是权限较大,直接写入webshell,另外一种...
    FKTX阅读 881评论 0 0
  • 作者:lanz 博客链接:http://netsecurity.51cto.com/art/201303/3862...
    Fa1se003阅读 524评论 1 3
  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,717评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 3,740评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 3,826评论 0 2

友情链接更多精彩内容