appcms,SSRF,绕过漏洞[转载],office办公软件教程2019

APP CMS 是一款开源的内容管理系统,其中使用了许多第三方库和组件,其中的 SSRF(Server-Side Request Forgery,服务端请求伪造)漏洞很容易被攻击者利用来进行攻击。本文将详细介绍 APP CMS 的 SSRF 绕过漏洞及相关知识。

什么是 SSRF?

SSRF 是一种攻击方式,在攻击中,攻击者利用服务端未经授权的 HTTP 请求的功能,将恶意请求发送到内部网络,可以获取密码、用户数据、敏感资源等,还可能通过此漏洞将其服务器变成攻击一个或多个其他服务器的跳板。

常见的 SSRF 攻击手段

- 利用 URL 传参:攻击者直接构造恶意 URL 通过 URL 进行攻击。

- 利用 HTTP 头:攻击者可以利用 HTTP 头中的 Referer、User-Agent、Location、Host 等信息来进行 SSRF 攻击。

- 利用 GET 和 POST 请求:攻击者可以通过 GET 或 POST 请求方式的参数来进行 SSRF 攻击。

APP CMS 中 SSRF 绕过漏洞漏洞分析

在 APP CMS 中,存在这样一段代码:

```

function checkUrl($url){

if(preg_match('#^https?://.*#i', $url) && !preg_match('#^https?://'.preg_quote($_SERVER['HTTP_HOST']).'#i', $url)){

$data = file_get_contents($url);

return $data;

}

return false;

}

```

在这个函数中,首先使用正则表达式判断 URL 是否以 http 或 https 开头,并排除了与当前主机名相同的 URL。如果 URL 合法,将使用 file_get_contents 函数获取 URL 内容并返回。

攻击者可以构造如下 URL 进行攻击:

```

http://example.com/index.php?a=https://attacker.com

```

其中,example.com 是受害者的网站,attacker.com 是攻击者的网站,攻击者将会利用漏洞将内容获取到自己的服务器上,达到窃取数据的目的。然而,受害者会判断 URL 是否与当前主机名相同,因此攻击者必须使用像是“http://127.0.0.1”这样的 URL,以绕过此判断。攻击者还可以使用 IP 段、内网网址等方法来进行攻击。

如何防御 SSRF 攻击?

- 对于传入 URL 的参数,对其进行白名单校验,只允许特定的域名和 IP 访问,以防止攻击者发送恶意的 URL。

- 对于服务端接口的访问,应该使用加密的通讯协议,如 HTTPS,以保证通讯的安全性。

- 对于服务端接口的访问,可以使用 Token 验证、校验 Referer 或来源、Cookie 等方式来加强访问的身份认证和授权验证。

- 限制网络访问权限,尽量不要让服务的运行环境具有访问内部网络的权限。

- 对于敏感数据的保护,可以使用加密算法、盐值加密等方法来增加数据的安全性。

总结

APP CMS 的 SSRF 绕过漏洞利用了正则表达式校验的不完善,攻击者可以伪造合法的 URL 来进行攻击。为了防御 SSRF 攻击,建议应用白名单校验、HTTPS 通讯、身份认证等措施,以减少攻击的可能性。同时,应该提高安全意识,定期对应用进行安全测试,及时修复漏洞,确保服务器和数据的安全。

如果你喜欢我们阿吉时码(www.ajishima.com.cn)的文章, 欢迎您分享或收藏分享网文章 欢迎您到我们的网站逛逛喔!SLG资源分享网
友情提示:抵制不良游戏,拒绝盗版游戏。 注意自我保护,谨防受骗上当。 适度游戏益脑,沉迷游戏伤身。 合理安排时间,享受健康生活。适龄提示:适合18岁以上使用!
点赞(48) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部