php web漏洞解读二

在网上看到了一篇有关web漏洞的文章,第三方大多为原文转载,这里做个解读备份。谢谢原作者。

这篇文章的标题为 远丰集团旗下CMS疑有官方后门

暂且不说后门定义是否准确,只看成因。

我下载了作者提供的解密后的代码,文件关键部分如下

if ($codelock_file == '') {
    echo "<font face='verdana' size='2'><br /><b>Error!</b> You cannot run codelock directly...</font>";
    die();
} else {}
$codelock_active_key="loveb2bbuilder";
@extract($_REQUEST);
error_reporting(E_ALL ^ E_NOTICE);
if ($codelock_act >= 1) {} else {
    @set_time_limit(240);
}
if ($codelock_enc == "") {
    $codelock_enc="codelock.php";
} else {}
if ($codelock_act >= 1) {
    $codelock_testsize=@filesize($codelock_filed/$codelock_enc);;
    if($codelock_testsize != $codelock_mastersize){
        @chmod("$codelock_filed/$codelock_enc", 0777);
        if (@copy ("$codelock_rfiled/$codelock_enc","$codelock_filed/$codelock_enc")){
        }else{
            echo "$codelock_filed/$codelock_enc";
            $codelock_fp2 = @fopen("$codelock_filed/$codelock_enc", "wb");
            if ($codelock_fp2) {
            } else {
                @unlink($codelock_filed/$codelock_enc);
                $codelock_fp2 = @fopen("$codelock_filed/$codelock_enc", "wb");
            }
            if ($codelock_fp2) {
                @fwrite($codelock_fp2, $codelock_masterdata);
                @fclose($codelock_fp2);
            }
        }
        @chmod("$codelock_enc", 0777);
    }

粗略读过作者的文章之后发现,这是一篇介绍某CMS Getwebshell文章。 问题在把可控参数内容写入了文件中。 那么,就要去寻找它的成因。 继续阅读

发表在 php security | 标签为 , , , | 留下评论

如何正确的读网上的web漏洞分享文章(报告)

网上的漏洞分享报告很多,不管是文章也好报告也好,公开以后都是给人读的,最终目的都是让人受益。去了解,分析,研究,修复这个漏洞。但是读者群中不仅仅包括有厂商和漏洞研究者们,还有数目庞大的安全初学者和门外汉。

但是,在真正的拿起一篇文章开始读时,这些安全初学者往往会愕然,因为很多人会感觉无从读起,不好下手。为什么会有这种感觉呢?其实我猜应该是有以下几种原因导致的。

1. 安全研究者在发布漏洞时,往往只会注重技术细节,不会瞻前顾后。如果代码功底不强的读者看到了,肯定会云里雾里。

2. 漏洞公布平台版面/厂商要求? 不知道存在不存在这种情况,往往很多人喜欢一针见血, 不喜欢啰里八嗦的人,我曾经就被外甥训斥为:不要再啰嗦了。

3. 漏洞发布者是一个注重效率的人。

4. 初学者认为自己的问题太基础羞于下问,研究者认为问题太过基础耻于回答。(死循环)

于是这就导致了一个问题, 大多安全研究者认为此技术我已掌握不需要去过多了解,本来不会想去了解的人还是不会。 这样造成的结果就是,技术文章在有限的条件下偏离了造福一方的初衷。失去了安全的真正意义。 继续阅读

发表在 security | 标签为 , , , | 一条评论

网络现实安全之困,来自人的攻击

我是一个不善言辞的人,博客也只是随便写写画画之用,正好赶上修养期间,看到了这篇发表在网络安全新媒体上的文章,所以也就有了我这篇个人见解文。

企业安全意识培训调查:哪种网络钓鱼邮件具有接近100%的点击率?

看到下面有人留言, 这方面的资料不好找, 社会工程学钓鱼不好防御, 如何能在最小资源的情况下做到让整体人员的安全意识提升?其实也难怪他会有这方面资料不好找的感觉,但是在网络上,有关钓鱼和反钓鱼的信息有很多,那他为什么还会有这种感觉呢? 其实我认为,主要原因有几大方面, 1. 这类文章众多, 但基本都不全面,存在漏掉部分或者错误部分,让人难以分辨。 2. 大多分析都过于片面化,有价值的钓鱼攻击一些企业单位或是为了体现自身技术水平或是有其他原因,往往会忽略钓鱼攻击的前因后果,只注重附件/可执行文件, 不注重它的文本内容。 3. 钓鱼科普内容缺乏趣味性,没有考虑到整体受众群还有非技术人员,就造成了技术人员认为太低级不屑于认真看,非技术人员认为太技术应付草草了事。 4. 钓鱼培训后往往只注重领导汇报结果, 极少会有科普的后期验证。 5. 内部钓鱼培训不管是几步走原则,往往只会进行一次或者两三次,忽略了人的记忆是有限制和网络是一直在发展的问题。结合以上, 就造成了培训人员认为难以培训做几, 受众群则认为你这是在浪费我的时间, 最终结果是黑客攻击成功,培训人员因为办事不力被开除。 继续阅读

发表在 security | 标签为 , , , | 留下评论

ubuntu下配置 elasticsearch6 的一点问题

本来想图省事, 怕Linux下的各种报错, 于是提前照着网上的说明改了yml文件, 最后发现无论怎么操作elasticsearch都起不来,一怒之下删了Ubuntu镜像,重新安装了Java jdk环境和elasticsearch, 原生配置,才发现了问题。

[2018-02-07T13:07:44,917][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [aggs-matrix-stats]
[2018-02-07T13:07:44,917][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [analysis-common]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [ingest-common]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [lang-expression]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [lang-mustache]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [lang-painless]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [mapper-extras]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [parent-join]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [percolator]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [rank-eval]
[2018-02-07T13:07:44,918][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [reindex]
[2018-02-07T13:07:44,919][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [repository-url]
[2018-02-07T13:07:44,919][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [transport-netty4]
[2018-02-07T13:07:44,919][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] loaded module [tribe]
[2018-02-07T13:07:44,919][INFO ][o.e.p.PluginsService     ] [Hl7YsCM] no plugins loaded
[2018-02-07T13:07:57,635][INFO ][o.e.d.DiscoveryModule    ] [Hl7YsCM] using discovery type [zen]
[2018-02-07T13:07:58,696][INFO ][o.e.n.Node               ] initialized
[2018-02-07T13:07:58,702][INFO ][o.e.n.Node               ] [Hl7YsCM] starting ...
[2018-02-07T13:07:59,203][INFO ][o.e.t.TransportService   ] [Hl7YsCM] publish_address {192.168.67.131:9300}, bound_addresses {[::]:9300}
[2018-02-07T13:07:59,287][INFO ][o.e.b.BootstrapChecks    ] [Hl7YsCM] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-02-07T13:07:59,310][INFO ][o.e.n.Node               ] [Hl7YsCM] stopping ...
[2018-02-07T13:07:59,374][INFO ][o.e.n.Node               ] [Hl7YsCM] stopped
[2018-02-07T13:07:59,375][INFO ][o.e.n.Node               ] [Hl7YsCM] closing ...

继续阅读

发表在 Uncategorized | 标签为 , , , | 留下评论

使用 python eml-parser 对 eml文件进行格式化

python下有个工具是可以对eml文件进行格式化的,介绍在这里

 https://pypi.python.org/pypi/eml-parser

首先要安装包,如果你设置了全局环境变量的话,只需要cmd下执行就可以,如果没有设置全局变量,首先要切换到你python的安装目录,然后再切换到scripts目录,执行

 pip install eml-parser

当你看到这个提示时,说明安装成功

Successfully installed cchardet-2.1.1 eml-parser-1.8 file-magic-0.3.0 python-dateutil-2.6.1 six-1.11.0 typing-3.6.4

这个时候,可以来试验一下是否可用。发现报错,于是到项目地址下载源码包查看,发现支持的版本有 继续阅读

发表在 python | 标签为 , , , , | 留下评论

tpphpcms数据库设计一

在使用tp进行cms开发之前, 首先要设计数据库的表结构,表结构设计完成后, 进行tp框架的搭建,项目的命名,控制器的命名 搭建完成后逐步开始完成控制器类,模型类,模版展示,然后是整合,测试和后期维护。

在进行设计之前, 要考虑到项目的整体,都有哪些功能, 哪些模块, 单元、分类、文章、用户、权限、都有哪些字段,最好设计的时候, 画出所属关系的关联图, 这样进行设计的时候, 思路会更加清晰。
继续阅读

发表在 php | 标签为 , , , | 留下评论

cms开发概述

由于在迁移数据的过程中失误删掉了cms的数据库,所以表结构和内容需要重新搭建和整合,想着整合的时候顺便重新复习一下代码,故有此系列文章。
继续阅读

发表在 php | 标签为 , , | 留下评论

Thinkphp Rbac应用篇二

最近因为很多事情都没有做完一直没好意思更新,今天趁着天亮前的空档索性更新一下好了,内容很基础,就是RBAC的实际应用,如果不熟悉的可以看一下上篇。Rbac不完全深入详解

我们在前期的时候知道了rbac的认证流程,其实下面要写代码的话也是依照这个认证流程来的,下面继续来看,翻看Controller.class代码的时候发现这么一行
继续阅读

发表在 php | 标签为 , , , , | 2条评论

有关网站后台密码防御问题

看到了越来越多的网站被黑客或是通过sql注入或是通过其他途径获取到了加密后的密码,发现一个问题就是很多人加密通常只会使用md5这一个函数,打个比方,大部分人的登陆验证可能都是这么写的。(这只是一个例子,通过get获取敏感参数是不正确的)
继续阅读

发表在 security | 标签为 , , , , | 一条评论

Thinkphp Rbac不完全深入详解一

说到thinkphp rbac就得先说一下rbac, 那么什么是rbac?  rbac即(role based access control)就是基于角色的访问控制的意思。那么什么是基于角色的访问控制?还是跟上面一样,要想知道什么是基于角色的访问控制首先就得来理解什么是角色,那么,什么是角色? 角色,它是一种代称,可以代指某一种或者多种可视和非可视规则和不规则物,简单举例来说,我在家是儿子,而这个儿子就可以称为是一种角色,因为此时角色属于儿子,所以我便可以行使一些儿子可以拥有的权限,假如这个时候我8岁的话,便可以让长辈代替我穿衣,或者喂我吃饭。而这个儿子只是我拥有角色之一,我可以同时拥有多种角色,而每一种角色会拥有若干权限,我可以根据不同的角色限制不同的用户访问,而这个限制的行为就叫做基于角色的访问控制。 继续阅读

发表在 php | 标签为 , , , , | 2条评论