- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一句话木马(webshell)是如何执行命令的
在很多的渗透过程中,渗透人员会上传一句话木马(简称webshell)到目前web服务目录继而提权获取 \t "/net/201706/_blank" 系统权限,不论 \t "/net/201706/_blank" asp、php、 \t "/net/201706/_blank" jsp、aspx都是如此,那么一句话木马到底是如何执行的呢,下面我们就对webshell进行一个简单的分析。
首先我们先看一个原始而又简单的php一句话木马。
看到这里不得不赞美前辈的智慧。
对于一个稍微懂一些php的人而言,或者初级的安全爱好者,或者脚本小子而言,看到的第一眼就是密码是cmd,通过post提交数据,但是具体如何执行的,却不得而知,下面我们分析一句话是如何执行的。
这句话什么意思呢?
php的代码要写在里面,服务器才能认出来这是php代码,然后才去解析。
@符号的意思是不报错。
例如:
如果没有@,如下图,就会报错
为什么呢?
因为一个变量没有定义,就被拿去使用了,
服务器就善意的提醒:Notice,你的xxx变量没有定义。
这不就暴露了密码吗?
所以加上@
为什么pw是密码呢?
那就要来理解这句话的意思了
php里面几个超全局变量
$_GET、$_POST就是其中之一
$_POST['a'];
意思就是a这个变量,用post的方法接收。
(传输数据的两种方法,get、post,post是在消息体存放数据,get是在消息头的url路径里存放数据(例如xxx.php?a=2))
eval()
把字符串作为 \t "/net/201706/_blank" PHP代码执行
例如:eval("echo 'a'");其实就等于直接 echo 'a';
再来看看
首先,用post方式接收变量pw,比如接收到了:pw=echo 'a';
这时代码就变成
结果:
连起来意思就是:
用post方法接收变量pw,把变量pw里面的字符串当做php代码来执行
所以也就能这么玩:
也就是说,你想执行什么代码,就把什么代码放进变量pw里,用post传输给一句话木马
你想查看目标硬盘里有没有小黄片,可以用php函数:opendir()和readdir()等等
想上传点小黄片,诬陷站主,就用php函数:move_uploaded_file,当然相应的html要写好
你想执行cmd命令,则用exec()
当然前提是:
php配置文件php.ini里,关掉安全模式safe_mode = off,
然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec ,把exec去掉,确保没有exec。
(有些cms为了方便处理某些功能,会去掉的)
看看效果:
现在应该理解,为什么说一句话短小精悍了吧!
我们在看一下一句话在菜刀之类的webshell管理工具里面是如何一句话是如何执行的
其实可以很明显看明白,其实执行的命令就和我们前面写的哪样进行输入输出,执行系统命令操作。
所以只要webshell有足够高的权限,可以做任何你想做的事情。
文档评论(0)