🎉🎉🎉🎉🎉🎉🎉🎉🎉
🆒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合作利用其开发漏洞利用工具发起针对中国攻击的证据。🤘
🥳 🥳 🥳 🥳 🥳 🥳 🥳 🥳 🥳 🥳
🆒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安全测试的入门教程。由于本人能力有限,文章难免会有些错误,还望小伙伴们见谅。
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
💎 💎 💎 💎 💎 💎 💎 💎 💎
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以及样式的中间应用件。
当今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
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
👀👀👀👀👀👀👀
🔥🔥可以看到,这个漏洞的形成,是因为在早于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>
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
333😱😱Cross Site Script Inclusion (XSSI) 跨站脚本包含是一种攻击技术允许攻击者通过恶意js绕过边界窃取信息。具体的说,应该是通过潜入script标签加载外部数据,for example:
😱😱过去几年,web安全研究者之中通用的认识中js文件,jsonp, json,或者版本较老的浏览器都有可能受到这种方式的攻击,除此之外,还可以通过一些浏览器的漏洞来得到js的错误信息利用,不过目前应该已经修复的差不多了。
😱😱2025,我们针对这个技术进行了专门的研究,发现了一些有趣的利用技术和浏览器漏洞,可以获取一些简单的文本中的信息,比如csv,在一些特定的情境下还可以获得更复杂的信息。我们主要的研究方向在于通过客户端脚本去识别目标数据的方法,比如变量,或者函数
<!-- attacker's page loads external data with SCRIPT tag -->
<SCRIPT src="http://target.wooyun.org/secret"></SCRIPT>
😱😱过去几年,web安全研究者之中通用的认识中js文件,jsonp, json,或者版本较老的浏览器都有可能受到这种方式的攻击,除此之外,还可以通过一些浏览器的漏洞来得到js的错误信息利用,不过目前应该已经修复的差不多了。
😱😱2025,我们针对这个技术进行了专门的研究,发现了一些有趣的利用技术和浏览器漏洞,可以获取一些简单的文本中的信息,比如csv,在一些特定的情境下还可以获得更复杂的信息。我们主要的研究方向在于通过客户端脚本去识别目标数据的方法,比如变量,或者函数
Burpsuite作为web测试的神器,已经人手必备了。它提供的一系列互相配合的工具,极大的提高了手工测试的效率,从1.5版本开始,Burpsuite开始支持扩展。用户可以自己开发扩展实现一些特殊的需求。不过目前关于Burpsuite扩展开发的中文资料很少。这里抛砖引玉总结一下学习的过程。
目前burpsuite官方支持用java,python,ruby开发扩展,选择还是很多的。Brupsuite的扩展可以实现非常多的功能,比如自定义扫描,修改http请求和响应,修改burp配置等等。几乎所以burpsuite功能都支持在扩展中进行控制。所以其实是可以用扩展把自己经常使用的功能做成自动化的。
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
从反汇编的代码可能看到两个令人激动的函数,一个是
memfrob(),通过找男人(man)知道,这个函数是将输入的指定长度的字符串中的字符与数字42做异或,既然是异或操作,就是可逆的。另一个函数是strcmp(),这个函数才是最令人激动的,从整个程序流程大概看到,程序通过scanf()获取用户输入,然后通过memfrob()做异或处理,然后再送入strcmp()做匹配,所以,我们只要在strcmp()函数调用处下断点,然后查看栈内容就可以得到真正的密码了。id = getpid()
s = lstat("touch " + str(id))
if(s & 0xf000 == 0x8000){
unlink(str(id);
system("touch " + ID);
}
sleep(0x7d0);
system("cat " + str(id));
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM