0x00 序
在程序开发的过程中,会遇到协程、线程与进程之间的选择问题,对这些概念有清晰了解才能写出效率更高的代码。
more >>最近遇到了不少各种语言的trick,于是想尝试作为一个系列记录下来。一般来说,并不提倡在生产环境中使用任何一种trick,好的代码应该是清晰的、无二义性的。部分trick更属于Undefined Behavior,这些trick在不同环境、不同版本的引擎中甚至会有截然不同的表现,在生产环境中应该避免这种情况。但是安全研究、渗透的过程中,利用这样的特性完成攻击的案例并不少见,所以仅作为研究还是有一定的意义。
more >>在1963年,计算机使用尚不广泛,主要使用7-bit的ASCII编码(American Standard Code for Information Interchange,美国信息互换标准代码)来作为字符的编码,只支持常用的少数一些字符。但是随着计算机的不断普及,各个国家和地区开始制造自己的编码规范,同时互相不进行兼容,编码逐渐成为了一个问题。
more >>该漏洞是由于Tomcat CGI将命令行参数传递给Windows程序的方式存在错误,使得CGIServlet被命令注入影响。
该漏洞只影响Windows平台,要求启用了CGIServlet和enableCmdLineArguments参数。但是CGIServlet和enableCmdLineArguments参数默认情况下都不启用。
more >>代码审计是找到应用缺陷的过程。自动化审计通常有白盒、黑盒、灰盒等多种方式。白盒指通过对源代码的分析找到应用缺陷;黑盒通常不涉及到源代码,多使用模糊测试等方式来找到漏洞;而灰盒则是黑白结合的方式,利用黑盒特性来减少白盒的计算复杂度,使用白盒的信息来衡量漏洞的有效性。
more >>这篇文章是之前对CCS 2018 Code-Reuse Attacks for the Web Breaking Cross-Site Scripting Mitigations via Script Gadgets
的阅读笔记,最近整理资料发现放了挺久,于是稍做了一些整理和扩展发了出来。
国际化域名(Internationalized Domain Name,IDN)又称特殊字符域名,是指部分或完全使用特殊的文字或字母组成的互联网域名,包括中文、法语、阿拉伯语、希伯来语或拉丁字母等非英文字母,这些文字经多字节万国码编码而成。在域名系统中,国际化域名使用Punycode转写并以ASCII字符串储存。
同形异义字是利用IDN中一些非拉丁字符语种的字母与拉丁字符非常相似,字面看很难区分的特性,找到对应的字符来实现钓鱼攻击。例如16ვ.com(U+10D5)、16ဒ.com (U+1012)、16ҙ.com (U+0499) 都在一定程度上和163.com有相似性,基于一些开放的https证书服务这些域名还能取得相应的证书,进一步增加钓鱼成功的可能性。
more >>