黑客 入侵攻击 web破解
768 subscribers
746 photos
48 links
黑客 入侵攻击 web破解
Download Telegram
🤘格式化字符串,也是一种比较常见的漏洞类型。会触发该漏洞的函数很有限。主要就是printf还有sprintffprintf等等c库中print家族的函数。 我们先来看看printf的函数声明🤘
>int printf(const char* format,...)

🚀这个是每个学过c语言的人一定会知道、会使用的函数。先是一个字符串指针,它指向的一个format字符串。后面是个数可变的参数。
一般人可能会这么用它🚀
char str[100];
scanf("%s",str);
printf("%s",str);

这个程序没有问题。然后会有一些人为了偷懒会写成这种样子
char str[100];
scanf("%s",str);
printf(str)

🎉这个程序在printf处用了一种偷懒的写法。这看起来是没有什么问题。但是却产生了一个非常严重的漏洞。
千万不要将printf中的format字符串的操纵权交给用户。保证printf函数的第一个参数是不可变的,在程序员的掌握中的。🎉
🥰根据cdecl的函数调用规定,函数的从最右边的参数开始,逐个压栈。如果要传入的是一个字符串,那么就将字符串的指针压栈。这一切都井井有条的进行着。如果是一般的函数,函数的调用者和被调用者都应该知道函数的参数个数以及每个参数的类型。对于不相同的类型,编译器还会自动的进行类型的转换,或者是发生编译错误,提醒程序的编写者🥰
😘🥰🥰😘😘😎😎🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🆒暴力破解,即用暴力穷举的方式大量尝试性地猜破密码。猜破密码一般有3种方式🎉
🔤排列组合式:首先列出密码组合的可能性,如数字、大写字母、小写字母、特殊字符等;按密码长度从1位、2位……逐渐猜试。当然这种方法需要高性能的破解算法和CPU/GPU做支持。
🔤字典破解:大多攻击者并没有高性能的破解算法和CPU/GPU,为节省时间和提高效率,利用社会工程学或其它方式建立破译字典,用字典中存在的用户名、密码进行猜破。
🔤排列组合+字典破解相结合。 理论上,只要拥有性能足够强的计算机和足够长的时间,大多密码均可以破解出来。
暴力破解一般有两种应用场景:
🔤攻击之前,尝试破解一下用户是否存在弱口令或有规律的口令;如果有,那么对整个攻击将起到事半功倍的作用。
🔤大量攻击之后,实在找不出用户网络系统中的漏洞或薄弱环节,那么只有上暴力破解,期待得到弱口令或有规律的口令。 所以,用户特别是管理员设置弱密码或有规律的密码是非常危险的,有可能成为黑客攻击的“敲门砖”或“最后一根救命稻草”。
👍👍👍👍👍👍
暴力破解应用范围非常广,可以说只要需要登录的入口均可以采用暴力破解进行攻击。应用层面如:网页、邮件、FTP服务、Telnet服务等,协议层面如:HTTP、HTTPS、POP3、POP3S、IMAP、IMAPS、SMTP、SMTPS、FTP、TELNET、RDP、QQ、MSN等等。本文仅列举部分常见协议,其它协议情况类似。
💰💰💰💰💰💰💰💰
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 漏洞小结🚀
1.影响范围个人评价为“高”,Discuz! X系列cms在国内使用范围极广,几乎所有中小型论坛都是用它搭建的。
🥳🥳🥳🥳🥳🥳🥳🥳
2.危害性个人评价为“高”,这个漏洞不只是单纯的后台代码执行,在uc_app key泄露的情况下也是可以利用的,很多转账对于uc_app key重视程度不是很大,所以相对来说危害性还是非常高的。
        $cachefile = DISCUZ_ROOT.'./uc_client/data/cache/badwords.php';
$fp = fopen($cachefile, 'w');
$s = "<?php\r\n";
$s .= '$_CACHE[\'badwords\'] = '.var_export($data, TRUE).";\r\n";
fwrite($fp, $s);
fclose($fp);

return API_RETURN_SUCCEED;
}

方法参数中的$get$post就是用户所传入的内容,从上面代码我们可以看出在解析$post内容之后,将其写入到名为badwords的缓存中。这里代码使用了var_export来避免用户传递单引号来封闭之前语句,注入php代码。
但是这里有两个关键词让我眼前一亮“findpattern”和“replacement”,也就是说这个缓存内容是会被作为执行的。那么如果我向findpattern中传入带有e参数的正则表达式,不就可以实现任意代码执行了吗?
💎💎💎💎💎💎💎💎💎
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
♥️♥️♥️♥️♥️♥️♥️
🎉为什么是以进入内网作为一个目标来讨论,因为我认为站在攻击者的角度来说攻击的核心目标是获取数据。而相对来说几乎攻击者想要的所有数据都在内网,而相对来说本身内网的安全防御能力就几乎为0。所以从外部寻找一个突破口进入内网是整个获得数据的过程中最关键的一个环节🎉
💎💎💎💎💎💎💎💎💎
🪩那么基于这样一个话题本来我想去讲的是到底有哪些从外围进入内网的手段,我初步的梳理了一下,我把它们分为两大类:合法入口和非法入口。而合法入口其实就是本身企业在给员工开放的一个从外部到企业内部的通道,这里面主要包括vpn、mail、wifi;在vpn和mail这两个入口来看我们看到的大部分攻击方法主要是利用用户名及密码的大数据来进行攻击的。而wifi这一块,我想想wifi万能钥匙这个就是个典型入口了(WooYun: 看我如何用wifi万能钥匙物理撸穿京东漫游内网); 而非法入口其实利用一些部署在边界上的应用或者主机及服务相关的漏洞;这里面就包含着各种常见的漏洞了我就先不在这里细说。💰
🥳🥳🥳🥳🥳🥳🥳🥳
🥳而我这篇文章里也不太想把上面所描述的所有的内容全部来细说一遍,篇幅有限不可能每个点都讲的特别相信,而且很多东西我相信之前很多人都讲了很多,可能我也不能讲的比他们更好,于是我更想讲一些大家可能没有讲或者讲的比较少的东西。那么回到主题是针对大型互联网公司来说,那么我认为与这样的高手过招重要的在取其命门。所以终极问题来了,大公司的命门在哪?带着这个终极问题我们来往下分析。🥳
👀👀👀👀👀👀👀
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉🎉🎉🎉🎉🎉🎉🎉🎉
🆒Hacking Team是一家在意大利米兰注册的软件公司,主要向各国政府及法律机构销售入侵及监视功能的软件。其远程控制系统可以监测互联网用户的通讯、解密用户的加密 文件及电子邮件,记录Skype及其它VoIP通信,也可以远程激活用户的麦克风及摄像头。其总部在意大利,雇员40多人,并在安纳波利斯和新加坡拥有分支机构其产品在几十个国家使用。💰
🪩🪩🪩🪩🪩🪩🪩🪩🪩
🔥7月5日晚,Hacking Team服务器被攻击,其掌握的400GB数据泄露出来,由此引发的动荡,引起了业界一片哗然,里面有Flash 0day, Windows字体0day, iOS enterprise backdoor app, Android selinux exploit, WP8 trojan等等核武级的漏洞和工具,其远程控制系统可以突破系统默认以及杀毒软件的安全防护,后台监控用户的网络通讯、解密用户的加密文件及电子邮件,记录Skype和其它VoIP工具的聊天内容,以及远程激活用户的麦克风及摄像头。🔥
🎉🎉🎉🎉🎉🎉🎉🎉🎉

🤘本文为Hacking Team泄露的400GB数据当中,查到韩国和哈萨克斯坦曾跟Hacking Team合作利用其开发漏洞利用工具发起针对中国攻击的证据。🤘
🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💎💎💎💎💎💎
IOS APP本地文件安全;HTTP/HTTPS下通信数据安全性的思考;非安全从业者是中间人攻击的重灾区。这次我们将简单的介绍一些方法和工具,来作为IOS APP安全测试的入门教程。由于本人能力有限,文章难免会有些错误,还望小伙伴们见谅。🚀
👅👅👅👅👅👅👅👅
🍓在我刚刚开始接触IOS逆向分析的时候想要一口吃个胖子,我从AppStore上下载APP进行安装后,找到其目录下的可执行文件,然后直接扔到了IDA中。结果可想而知,我看到了一坨不知所云的函数,那时我还一度怀疑过自己是不是真的适合做这一行。好在后来去除了浮躁的心态,知道我这么一个瘦子是无法变成胖子的,从前人的劳动成果中学习到从AppStore上下载的软件都是经过加密的,可执行文件被加上了一层厚厚的壳,这节我们只做一件事情,就是将APP厚厚的伪装去掉。之所以说是伪装,是因为加了密的APP想要解密并不是什么难事,不像Android下的APP加壳种类那么多。目标APP苏宁易付宝钱包(这是一个良心厂商,奖励了白帽子好多购物卡,这里的演示仅供学习毫无恶意)。🔞
🤔🤔🤔🤔🤔🤔🤔🤔🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💎💎💎💎💎💎💎
PS.之前一直想把零零碎碎的知识整理下来,作为知识沉淀下来,正好借着wooyun峰会的机会将之前的流程又梳理了一遍,于是就有了下文。也希望整理的内容能给甲方工作者或则白帽子带来一些收获💰
🍒🍒🍒🍒🍒🍒🍒🍒
随着网络安全越来越受到重视,发展越来越快。随之也出现了越来越多的安全防护的软件。例如有:
1.云waf;[阿里云盾,百度云加速,360网站卫士,加速乐等]

2.传统安全厂商的硬件waf以及一直存在的ips,ids设备;[绿盟,启明,深信服,安恒等]

3.主机防护软件如安全狗,云锁;

4.软waf如modsecurity,nginx-lua-waf等

🆒在明白了各种防护软件在网络环境下的拓扑之后,现在了解一下基础数据的流量与相关设备的基本处理。🆒
1)一个完整的过程,首先会请求DNS,由于配置云waf的时候,会修改DNS的解析。我们发送DNS请求之后,域名会被解析到云WAF的ip上去。DNS解析完成之后,获取到域名信息,然后进入下一个步骤。

2)HTTP协议是应用层协议,且是tcp协议,因此会首先去做TCP的三次握手,此处不去抠三次握手的细节,假设三次握手建立完毕。

3)发送HTTP请求过去,请求会依次经过云WAF,硬件IPS/IDS设备,硬件WAF设备,服务器,web服务器,主机防护软件/软WAF,WEB程序,数据库。 云WAF,硬件IPS/IDS,硬件WAF均有自己处理数据的方式。云WAF与硬件WAF细节上不太清楚,对于硬件IPS有一定的了解。
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
逆向基础 OS-specific
🤘🤘🤘🤘🤘🤘
💎TLS是每个线程特有的数据区域,每个线程可以把自己需要的数据存储在这里。一个著名的例子是C标准的全局变量errno。多个线程可以同时使用errno获取返回的错误码,如果是全局变量它是无法在多线程环境下正常工作的。因此errno必须保存在TLS。

C++11标准里面新添加了一个thread_local修饰符,标明每个线程都属于自己版本的变量。它可以被初始化并位于TLS中。💎
🆒🆒🆒🆒🆒🆒🆒🆒
rand_state现在处于TLS段,而且这个变量每个线程都拥有属于自己版本。它是这么访问的:从FS:2Ch加载TIB(Thread Information Block)的地址,然后添加一个额外的索引(如果需要的话),接着计算出在TLS段的地址。

最后可以通过ECX寄存器来访问rand_state变量,它指向每个线程特定的数据区域。

FS:这是每个逆向工程师都很熟悉的选择子了。它专门用于指向TIB,因此访问线程特定数据可以很快完成。

GS: 该选择子用于Win64,0x58的地址是TLS。

Listing 65.3: Optimizing MSVC 2013 x64
_TLS SEGMENT
rand_state DD 01H DUP (?)
_TLS ENDS

_DATA SEGMENT
$SG85451 DB '%d', 0aH, 00H
_DATA ENDS

_TEXT SEGMENT
init$ = 8

my_srand PROC
mov edx, DWORD PTR _tls_index
mov rax, QWORD PTR gs:88 ; 58h
mov r8d, OFFSET FLAT:rand_state
mov rax, QWORD PTR [rax+rdx*8]
mov DWORD PTR [r8+rax], ecx
ret 0

💎💎💎💎💎💎💎💎💎
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👅👅👅👅👅👅👅
🔥要讨论模板引擎的攻击,先来了解下什么是模板引擎

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。(百度百科) 说白了,就是使得后端数据转换成前端html以及样式的中间应用件。🎉
♥️♥️♥️♥️♥️♥️♥️♥️♥️
🤘模板引擎(Template engines)在现代web应用被广泛使用,它们被用来动态地显示数据。然而,不安全地将用户输入嵌入到模板中,会导致一系列针对服务器的注入攻击。然而,这种漏洞很容易被误当做Xss对待。然而,针对模板的注入其实可以攻击服务器,往往还能够RCE(远程命令执行),触发任意对象构造,任意文件读写,远程文件包含信息泄露,和提权。🤘
🥳🥳🥳🥳🥳🥳🥳🥳🥳
当今web应用频繁地使用模板系统,诸如Twig,FreeMarket等。当用户输入嵌入在一个很没有安全性的模板时,模板注射就可能发生。
现在我们假设调用了Twig框架用来显示欢迎页面,如果直接把名字传递给模板,不会出现错误 就像这样
$output = $twig->render("Dear {first_name},", array("first_name" => $user.first_name) );

💎💎💎💎💎💎💎💎💎
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😱😱😱😱😱😱
😱😱dnSpyEx 是一款功能强大的开源 .NET 程序集逆向工程工具,它集成了 反编译器 (Decompiler)调试器 (Debugger) 和 汇编编辑器 (Assembly Editor) 三大核心功能。在网络安全渗透测试或取证分析中,当安全人员通过文件上传、信息泄漏或其他方式获取到目标 .NET 网站(如 ASP.NET) 后端的 DLL 文件(通常包含业务逻辑、敏感配置或加密密钥等),dnSpyEx 就能发挥关键作用。安全人员可以利用其 反编译 功能,将 DLL 文件中的 IL 代码 还原为可读性高的 C# 源代码,从而分析应用程序的内部工作原理、识别潜在的 敏感信息(如数据库连接字符串、硬编码凭证)或查找业务逻辑中的安全漏洞。此外,dnSpyEx 的 调试器 允许在反编译的代码级别进行单步跟踪,帮助理解复杂的代码执行流程,而其 编辑 能力甚至允许直接修改程序集,用于验证补丁或自定义分析。💰💰
🥳🥳🥳🥳🥳🥳🥳
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉🎉这个漏洞已经出来很久了,以前简单分析过,但是由于时间关系,没能深入研究原理,网上对这个漏洞的分析也不太多,最近由于工作原因,深入分析了一下这个漏洞的原理,这里重点将漏洞调试过程,以及一些之前遇到的一些奇怪问题的原因记录下来。
👀👀👀👀👀👀👀
🔥🔥可以看到,这个漏洞的形成,是因为在早于JSP2.0的版本上,由于没有EL表达式的支持,Spring标签为了兼容这部分版本,Spring的一部分标签独立于Servlet/JSP容器添加了对EL表达式的支持。但这样做引起了一个问题,就是当这部分标签在支持EL表达式的容器中运行的时候,Spring标签的属性会被当做EL表达式执行两次,第一次是被容器当做EL执行,第二次是被Spring标签自身执行。所以,如果攻击者可以控制标签属性的内容,就可以执行自己提交的EL表达式,会造成信息泄露、代码执行等风险。
首先编写一段测试JSP代码,并且引入存在漏洞的Spring标签,我这里使用的是Tomcat 7.0.57和Spring 3.0.5
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<spring:message text="${param.a}"></spring:message>