蹭热度分享一份写配置漏洞案例

0x00 前言

今天奇安信ATEAM团队分享一篇深度好文这是一篇“不一样”的真实渗透测试案例分析文章引爆朋友圈多次转发分享,Phith0n 师傅也专门写了一篇经典写配置漏洞与几种变形的总结,看了P神师傅文章想起我之前也挖到过一个类似漏洞,这里我把中间思路和部分代码贴出来分享一份。

0x01 分析

漏洞代码还是出在一个写配置文件的函数当中,代码如下(大部分代码删去,只留核心部分):

public function input($c)
    {
   
     ///...........省略大部分代码..........
            if ($_POST['name_list']) {
   
                $name_list = explode("/", $_POST['name_list']);
                foreach ($name_list as $v) {
   
                    if (substr($v, 0, 6) == "_scfg_") {
   
                        $name = substr($v, 6);
                    } else {
   
                        $name = $v;
                    }
                    if ($name) {
   
                        {
    if (is_array($_POST[$v])) {
   
                            $input[$name] = implode("|@|", $_POST[$v]);
                        } else {
   
                            $input[$name] = $_POST[$v];
                        }}
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
先简单介绍一下Redis的有序集合(sorted set)数据结构。有序集合是一种由字符串成员组成的无序集合,其中每个成员都关联了一个double类型的分数。通过分数来表示成员之间的排序。有序集合的成员是唯一的,但分数可以重复。 以下是Java代码实现电影热度排行榜: 1. 添加电影及其热度分数 ```java Jedis jedis = new Jedis("localhost"); // 添加电影及其热度分数 jedis.zadd("movie_ranking", 10000, "The Shawshank Redemption"); jedis.zadd("movie_ranking", 9000, "The Godfather"); jedis.zadd("movie_ranking", 8000, "The Dark Knight"); // 设置过期时间为一周 jedis.expire("movie_ranking", 7 * 24 * 60 * 60); ``` 2. 更新电影热度分数 ```java Jedis jedis = new Jedis("localhost"); // 更新电影热度分数 jedis.zincrby("movie_ranking", 500, "The Shawshank Redemption"); jedis.zincrby("movie_ranking", 400, "The Godfather"); jedis.zincrby("movie_ranking", 300, "The Dark Knight"); ``` 3. 获取电影热度排行榜 ```java Jedis jedis = new Jedis("localhost"); // 获取电影热度排行榜 Set<String> ranking = jedis.zrevrange("movie_ranking", 0, 9); int i = 1; for (String movie : ranking) { System.out.println(i + ". " + movie); i++; } ``` 以上代码中使用了Redis的有序集合和键过期功能,其中添加和更新电影热度分数的方法使用了`zadd`和`zincrby`命令,获取电影热度排行榜的方法使用了`zrevrange`命令。具体的Redis命令使用方法可以参考官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值