网站被注入js代码_「代码审计」某JA网站内容管理系统模板注入漏洞

news/2024/5/20 13:54:25/文章来源:https://blog.csdn.net/weixin_39906245/article/details/110857807

0x00前言

一直对模板注入漏洞懵懵懂懂,直到最近在某gayhub上瞎逛碰到一个cms,再一番操作之后找到了一个前台getshell的漏洞。由于相关要求,这里隐去这个cms的全称,就分享漏洞发掘的思路。

0x01 代码审计

我们全局搜索eval(可以发现有一个地方使用了eval,可以大胆猜测这个模板引擎是使用eval去实现。我们跟进ii_eval()函数。

85367c2711f1cfe5b8836c9c56f186d2.png

可以见到函数的$strers可控,我们继续跟进ii_eval()看谁对他进行了调用。

cc87353ccf28cbb98573b6d283828ec0.png

全局搜索发现就只有一个地方对他进行了调用那就是ii_creplace()函数

c9af46dae6b5a1f20d76500a33d621cc.png

我们跟进ii_creplace()可以看到,$strers可控但是他必须传入一个与({$=(.[^}]*)})这个正则匹配的字符串才能传入到iieval(),这里我们就可以得知要想执行代码必须符合类似下面的格式:

  1. {$=phpinfo()}
9eba7869054efd3b49f3818a403d1bb9.png

那么我们继续跟进ii_creplace()函数看谁对他进行了调用,找了很多但是都对函数中的$进行了转义,但是在passportaddresscommonincfilesmanage_config.inc.php中的xxx_cms_admin_manage_list()并未做任何过滤。我们继续跟进。

bfca724558fe3fcd4d904fa8d51fd546.png

我们发现passportaddressmanage.php对passportaddresscommonincfilesmanage_config.inc.php进行了包含并调用了xx_cms_admin_manage_action(),而它调用了xx_cms_admin_manage_list(),那么很明显我们只需将符合{$=(.[^}]*)}正则的payload传入即可导致getshell.

929af5ea89881cd693370b09c29cfa12.png

那么从哪传入呢,我们直接把xxx_cms_admin_manage_list()中的sql语句打印出来即可知道。

aaf38a9ff048a6c380518bf26f5605e9.png
7d92038f58fd4991e5c621093f8591b2.png

很明显是从用户地址处传入。那么我们先注册个用户添加用户地址传入我们payload

  1. {$=phpinfo()}
b240a363f64ae4c44b75f7e3e17c442b.png

再次刷新页面已经显示phpinfo,说明getshell成功。

a34387f12314fd6094476ccd98f66410.png

0x02总结

其实纵观代码,这个cms的开发人员是有考虑过代码注入的问题,但是其对传入的内容并没有做全局过滤,而是每个点做过滤。这样难免会造成遗漏过滤的情况,当然这个cms的sql注入防护也是采取每个变量前套上一个转义函数,但是在后续的版本开发中难免也会有开发人员遗漏,这里不做深究了。

看完文章有没有想要自己尝试一下呢!登录合天网安实验室,get同款实验。或者点击阅读原文,了解相关说明。通过实验了解服务端模板注入漏洞的危害与利用。

Flask服务端模板注入漏洞:http://www.hetianlab.com/expc.do?ec=ECID87ed-2223-40e5-8083-f5c55d69af28

声明:笔者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_780898.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站劫持 网站(域名)被劫持怎么检测 遇到网站恶意跳转不要慌(干货)

首先,以开元浏览器安全检测为例,我们打开网站监控平台。 1、输入对方域名 2、提交检测,得到检测结果 网站在线检测地址:网站监控 3、经初步判断,该网站被劫持(部分节点显示最终打开网站的域名和网站标题…

百度收录为什么对网站优化这么重要?如何批量查百度收录

众所周知,网站变现就要有流量,而流量就要靠收录量来实现,所以收录越高,网站的流量越大,变现能力越强。 在现在这个网络飞速发展的时代,大家遇到不懂得地方都是第一时间就去网上搜索,可以说搜索…

百度网站收录批量查询 介绍百度网站收录批量查询3种方式

百度收录,一方面可以曝光网站,提高知名度。另一方面,是流量的攀升。站长在建站的初期,往往需要提高网站对百度的友好度从而提高收录。 今天,针对百度月收录的查询方式,分三种和大家说说。 第一种&#xf…

HTTP常见的几种状态码及意义详解,如何批量获取网站HTTP状态码

HTTP状态码罗列起来可太多了,本文说一说几种比较常见的状态码吧! 一、几种常见的HTTP状态码 首先状态码的开头不同代表不同的类型: 1xx:代表指示信息,表示请求已接收,继续处理 2xx:代表成功&…

Cisco官方网站悄然换标

10月2日,就在所有中国人欢度国庆佳节之际,可能是思科(cisco)历史上最大的市场活动悄然启动。就在今天,51cto.com记者发现,思科网站全面改版!其实,改版的内容不大,主要就是logo的改变。记者发现&…

linux nginx伪静态网站,Nginx使用Location匹配URL进行伪静态

基础知识1.Nginx location 配置语法1. location [ | ~ | ~* | ^~ ] uri { ... }2. location name { ... }1.location 配置可以有两种配置方法1.前缀 uri(字符串/正则表达式)2. name2.前缀含义 :精确匹配(必须全部相等)~ :大小写敏感~* :…

云服务器做视频网站,服务器做视频网站

服务器做视频网站 内容精选换一换首先需要准备一台Linux系统的物理服务器作为镜像制作服务器(即宿主机)。制作x86镜像选用x86服务器,制作ARM镜像选用ARM服务器。宿主机必须安装:vsftpd服务sshd服务vnc服务virt-manager工具kvm虚拟化软件虚拟化管理工具vi…

我要自学网polyworks_6个适合中年人自学的网站,学习是最好的投资,每天提升自己...

如果你刷到并打开了这篇文章,首先要恭喜你,比别人收获了更多有价值的东西。互联网时代,我们每天花大量的时间,阅读一些无用的信息。仔细想想,其实除了让时间白白流走,并没有带来任何实质性的东西。而真正能…

网站为什么要用服务器上,建设网站为什么要使用独立IP的网站服务器

有些企业为了节省资金,在企业建设网站时会租用一些比较便宜的网站服务器,而不去选择有独立IP的服务器,虽然资金是节省了,但是其实建设网站使用独立IP的服务器是有一定好处的。我们先来了解一下。一、权重使用独立IP的网站服务器会…

网站内容编辑都要会做标题党

网站如何让用户主动为你增加流量(二) ------ 为了访问量打到还是支持标题党 上一篇主要从“视觉元素动起来”即“网站如何让用户主动为你增加流量(一)”说了51CTO博客首页上的“大屏幕”应该更突出主题,让图片成为第一…

Step by Step WebMatrix网站开发之二:使用WebMatrix(2)

上一篇,从Web库创建了一个电子商务的网站。现在回到WebMatrix,看看它有什么功能。 由图1可以看到,WebMatrix主要有3个区域,顶部Ribbon区域,左边是功能区域,右边是信息或编辑区域。Ribbon区域的工具按钮会根…

大学四年因为知道了这32个网站,我成了别人眼中的大神!

依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦😂,嗯,我们导员是所有导员中最帅的一个,真的😎 不过&#xf…

Spark中求网站的访问量

美图欣赏: 一.数据样式: 二.要求 求出访问量最高的两个网页 要求显示:网页名称、访问量 三.代码实现: import org.apache.spark.{SparkConf, SparkContext}object TomcatLogCount extends App {//获取spark的scvar conf new S…

内容的关键词该怎么SEO优化

2019独角兽企业重金招聘Python工程师标准>>> 网站使用JavaScript会得到惩罚 解析:搜索引擎不是傻瓜,他们不会禁止你使用标准的技术。但是搜索引擎的机器人将无法很好地通过JavaScript抓取网页内容,因此,[url]www.0537n…

帮助你更好理解javascript中easing功能的网站 - Easings.net

为什么80%的码农都做不了架构师?>>> 日期:2012-10-17 来源:GBin1.com 如果你开发过jQuery的动画效果的话,肯定接触过一个jQuery插件:jquery.easing plugin,这个插件可以帮助你生成不同类型的…

复制加网站信息的javascript代码及对应的javascript阻止命令

复制加网站信息的javascript代码 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/xhtml"xml:lang"zh-cn…

微信网站域名如何做防封和防屏蔽技术

微信域名防封技术及微信域名被封解决方案。 微信又封杀我的域名了&#xff0c;微信域名被封怎么办&#xff1f; 做微信项目的兄弟们总跟我唠嗑抱怨&#xff0c;这个无可厚非&#xff0c; 微信如果不做屏蔽措施&#xff0c;微信里面传播传播的信息良莠不齐不治理&#xff0c;…

构建LAMP网站平台的安装全过程

准备实验环境&#xff1a;两台虚拟机&#xff1a;第一台做DNS服务器解析域名。第二台做LAMP网站服务平台。搭建DNS服务&#xff1a;1、配置IP地址[rootlocalhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:26:05:59 inet addr:1.1.1.1 Bcast:1.1.1.255 …

Elsa聊天机器人--可定制MSN或网站客服机器人!

Elsa机器人用到的中文分词算法是我自己写的聊天机器人。顺便也做了一个MSN聊天机器人DuoiMessenger&#xff0c;机器人最大用处是做MSN聊天机器人或网站客服机器人用到网站开发中。下面是下载方式和软件截图。&#xff08;软件每次启动加载一个美女&#xff0c;纯属给自己看&am…

优化杭州某著名电子商务网站高并发千万级大型数据库经验之- 读写分离

好久没写博客了&#xff0c;一方面是日常工作繁忙&#xff0c;另外一方面是想更多的时间陪陪家里人&#xff0c;享受春天的美好时光&#xff0c;还在写一本《程序员&#xff0c;你伤不起》的一本书要由人民邮电出版社出版&#xff1b;我的性格可能也跟大多数程序员类似吧&#…