Security
文章平均质量分 76
jimmyleeee
从事应用安全十余年,一直在努力......
展开
-
应用安全系列之一:SQL注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,从最基础的代码上探索最基础的解决问题的原理,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。 根据IT研究与顾问咨询公司Gartner统计数据显示,75%的黑客攻击发生在应用层。而由NIST的统计显示92%的漏洞属于应用层而非网络层,52%的网站应用程序都存在SQL注入、XSS跨站脚本和输入验证问题。注入攻击产生的后果比较严重,轻则导致数据泄露,严重的会导致数据被篡改,根伟...原创 2021-02-24 18:50:27 · 640 阅读 · 3 评论 -
应用安全系列之三十七:日志注入
用户输入的参数未做任何验证直接写入日志文件,导致攻击者可以通过特殊字符(\r \n)在日志中注入新的日志条目,破坏系统日志的完整性。例如:test failed to log in. 如果test是可以控制的,就可以通过输入(admin login successfully.\r\n test)将日志修改为:admin login successfully.\r\n Info:test failed to log in. 就注入了一条日志。 一旦 日志的完整性没法保障,那么,会影响它作为证据的有效性。日志原创 2022-07-05 15:19:28 · 5003 阅读 · 0 评论 -
应用安全系列之二十七:加密算法
为了维持所要保护的信息的机密性和完整性,在一个安全系统里,必须要有加密模块的保护。而且,对于Web应用程序,使用加密算法保护敏感数据已经变成一个很关键的部分,但是,有的Web应用程序经常存在一些不正确的做法,例如:使用一些设计不好的加密算法,使用不合适的加密算法或者不正确地使用一些很强的加密算法,这些都可能导致敏感数据的泄露。要保护好数据,就必须正确地使用合适的算法。在对数据加密之前,首先应该知道使用什么加密算法、需要加密哪些数据,以及如何才能正确地使用这些加密算法去保护...原创 2022-04-10 17:40:37 · 2339 阅读 · 0 评论 -
MobSF一款移动应用安全分析软件的安装与使用
MobSF的文档都可以参考https://github.com/MobSF/Mobile-Security-Framework-MobSF, 这里只是说一下如何使用docker安装。使用git上的只是安装也很简单,不过,使用docker安装更方便。第一步,首先要启动docker服务 ,可以先通过service docker status 查看一下状态,如果是dead状态,就需要执行 service docker restart 启动一下第二步,执行docker pull op..原创 2021-09-20 18:05:51 · 1226 阅读 · 0 评论 -
应用安全系列之二十一:认证问题
一个系统针对每一个用户都有一个认证的方式,一个用户原创 2021-05-30 15:28:16 · 996 阅读 · 0 评论 -
应用安全系列之二十:HTTP协议安全
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施。HTTP协议也提供了一些头用于提高安全,本章节主要是介绍一些常用的协议头和他们的作用,以及如何正确使用。CORSHTTPonlySecureSameSiteHSTSXSS-ProtectX-Frame-OptionContent-Security-Policy (CSP)如果有不妥之处,希望可以留言指出。谢谢!参考:https://cheatsheet...原创 2021-03-18 14:40:25 · 1073 阅读 · 2 评论 -
应用安全系列之十九:CSRF
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施。Cross-site Request Forgery(CSRF)中文名是跨站请求伪造,是一种通过恶意站点利用浏览器的信任机制自动发起意料之外的请求。CSRF攻击主要是利用了浏览器会自动将某个站点的cookie发送到被请求的网站,如果一个用户已经登录站点www.test.com,此时,又访问另外一个网站,而这个网站中含有发送恶意请求的脚本或者标签,例如:<img src="http://www.test.com?dosom原创 2021-03-17 18:11:43 · 284 阅读 · 0 评论 -
应用安全系列之十八:其它注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施。截止到目前为止,已经介绍了17种注入类型的漏洞,本片文章着重介绍其他的有关注入的漏洞类型,主要包括:HTTP Header注入,HTTP Cookie注入,日志伪造,SMTP Header注入,IMAP命令行注入,POP3命令行注入,SMTP邮件命令行注入,NoSQL注入等。HTTP Header注入与HTTP Cookie注入日志伪造SMTP Header注入,IMAP命令行注入,POP3命令行注入...原创 2021-03-16 23:14:31 · 494 阅读 · 0 评论 -
应用安全系列之十七:xQuery注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施。关于xQuery标准的详细信息可以参考http://www.w3.org/TR/xquery/, 这里只做简单介绍。XQuery语言是用于查询存储在XML数据库的数据的语言,它可以看做是XPath语言的一个超集。主要用到的XQuery的功能包括:构建XQL查询 从XML数据库获取信息给web服务或者应用 从XML数据库中年获取XML格式的报告 把XML数据转换成XHTML 快速遍历XML树 根据过滤器过滤..原创 2021-03-12 11:08:15 · 571 阅读 · 0 评论 -
应用安全系列之十六:Expression Language (EL) Injection
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施。关于什么是EL(Expression Language),不在这里详细叙述,可以参考https://docs.oracle.com/javaee/7/tutorial/jsf-el.htm和https://docs.oracle.com/javaee/6/tutorial/doc/bnahq.html。EL确实给实现带来了很多方便,例如:在JSLT中,可以直接显示一个对象的一个属性:<c:out value=”...原创 2021-03-11 16:08:29 · 1492 阅读 · 0 评论 -
应用安全系列之十五:XSLT注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-03-11 12:33:17 · 1952 阅读 · 0 评论 -
应用安全系列之十三:脚本引擎代码注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-03-09 19:11:51 · 2051 阅读 · 1 评论 -
应用安全系列之十四:JNDI引用注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-03-09 18:50:06 · 1012 阅读 · 1 评论 -
应用安全系列之十二:正则表达式注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-03-07 12:32:18 · 2804 阅读 · 1 评论 -
应用安全系列之十一:路径遍历
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-03-05 12:22:48 · 2745 阅读 · 1 评论 -
应用安全系列之十:CSV注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。关于CSV注入,可能平时关注的人比较少,不过,只要有以csv文件格式导出数据,它就可能存在。很多系统都会导出csv,将数据用于分析。首先介绍一下CSV的含义,CSV就是comma-separated-values,就是使用逗号分开的一串值,当使用excel打开时,逗号隔开的内容会被展开为对应行和列的一个cell的值。..原创 2021-03-03 10:29:51 · 4961 阅读 · 4 评论 -
应用安全系列之八:XXE
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-03-01 15:39:12 · 436 阅读 · 2 评论 -
应用安全系列之九:HTTP参数污染
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-02-28 20:22:39 · 1481 阅读 · 0 评论 -
应用安全系列之七:XML注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-02-28 18:42:30 · 537 阅读 · 0 评论 -
应用安全系列之六:JSON注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-02-28 18:20:36 · 2482 阅读 · 1 评论 -
应用安全系列之五:LDAP注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。如果有不妥之处,希望可以留言指出。谢谢!...原创 2021-02-26 15:28:16 · 1626 阅读 · 0 评论 -
应用安全系列之四:XPATH注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。XPath即XML路径语言(XML Path Language),是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中寻找节点的能力。XPath提出的初衷是将其作为一个通用的、介于XPointer与XSL之间的语法模型。XPath使用路径表达式在 XML 文档中进行导航。 XPa原创 2021-02-26 14:53:45 · 1561 阅读 · 0 评论 -
应用安全系列之三:OS命令行注入
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。OS命令行注入主要是由于在执行命令时,由于使用不可信的数据来源来组装命令或者直接作为命令来执行造成的。如果程序运行时,没有遵守最少权限原则,由于攻击者可以控制执行的命令,所以,一旦被攻击者利用,就可以控制整个服务器。诸多语言中都有执行操作系统的命令的API或者类,再调用这些接口的时候,需要特别注意。 不同语言的执行操作系统的A原创 2021-02-25 19:59:54 · 1078 阅读 · 0 评论 -
应用安全系列之二:XSS
本系列文章主旨在于介绍一些漏洞类型产生的基本原理,从最基础的代码上探索最基础的解决问题的原理,不排除有些语言或者系统提供的安全的API可以更好地更直接地解决问题,也不排除可以严格地输入验证来解决。...原创 2021-02-25 10:16:25 · 446 阅读 · 1 评论 -
访问网站报错‘您目前无法访问XXXX 因为此网站使用了 HSTS
使用Chrome测试某一个网站时,之前一直可以正常访问, 突然再次访问就显示:“您目前无法访问XXXX 因为此网站使用了 HSTS” 使用IE之前也是可以正常访问的, 但是,现在也变成如下所示:1) Chrome 处理方法 在Chrome中输入:chrome://net-internals/#hsts,可以通过Query HSTS/PKG domain查询是否启用了HSTS然后再在下面的输入框中输入刚查询的域名,点击删除,再次,访问,就可以访问了。...原创 2020-11-16 14:17:41 · 10898 阅读 · 2 评论 -
注入漏洞类型、特殊字符以及处理方法
各种应用攻击中,注入攻击是被利用最多的,也是危害最大的,同时,相对而言,也是比较容易集中处理的漏洞类型,通过SAST(静态代码扫描工具)也是很容易发现的。 因此此类漏洞的发现与处理对于系统的安全与稳定非常重要。但是,由于注入攻击的漏洞类型比较多,一种攻击类型在不同的系统预防方法还不一样,这就导致了比较大的困难来预防注入漏洞。 这里根据统计的注入漏洞类型,把危险的字符列举出来,把相关的处理编码方法也列出来,希望对于注入漏洞类型的攻击的预防能够有所帮助。攻击类型...原创 2020-07-08 18:21:04 · 3199 阅读 · 1 评论 -
SAST、DAST、IAST几种测试工具的比较
在安全测试中都会遇到SAST(Static Application Security Testing)、DAST(Dynamic Application Security Testing)、IAST(Interactive Application Security Testing)的概念,这三种工具各有优劣势,先比较如下: 比较项 SAST DAST IAST 扫描对象 源代...原创 2020-07-02 15:40:05 · 6860 阅读 · 0 评论 -
白盒扫描(源代码扫描)、黑盒扫描和漏扫的区别
关于白盒扫描、黑盒扫描和漏扫,经常有客户分不清楚他们之间的区别,见到不同的客户秀需要解释一番,上网上搜索,也没有一个比较统一和权威的答案,这里根据自己的理解,列出三者的区别,如果有误,欢迎指正! 白盒扫描 黑盒扫描 漏扫 扫描对象 应用功能程度自身源代码 运行时的应用程序 运行时的应用程序以及环境 扫描侧重点 应用程序自身的漏洞 应用程序自身的漏洞 应用程序运行的环境的漏洞 是否需要运行时的环境 不需要 需要...原创 2020-06-23 11:46:53 · 6829 阅读 · 0 评论 -
安全问题种类以及应对措施
关于软件安全的种类有很多种分类方法,这里就不一一叙述了,这里主要是根据自己的经验把安全问题分一下类别,然后说说如何针对每种类别进行处理。 安全的问题,根据处理的团队的不同,可以分为:软件运行时环境的问题 和 软件自身的问题。 一软件运行时环境的问题 主要是指软件运行的操作系统、运行的需要容器和服务,主要出现的问题种类包括:环境自身的...原创 2020-04-27 14:22:35 · 3306 阅读 · 0 评论 -
如何获得自己的外网IP?
直接通过访问网站:https://ip.cn/?ip=或者https://www.ip138.com/页面上就会限制自己的外网IP。原创 2020-03-17 17:11:10 · 3834 阅读 · 0 评论 -
IAST与SAST的区别
超过50%的安全漏洞是由错误的编码产生的,开发人员一般安全开发意识和安全开发技能不足,更加关注业务功能的实现。想从源头上治理漏洞就需要制定代码检测机制,SAST是一种在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。SAST需要从语义上理解程序的代码、依赖关系、配置文件。优势是代码具有高度可视性,能够检测更丰富的问题,包括漏洞及代码规范等问题。测试对象比IAST丰富,除Web应用程序之外还能够...原创 2019-10-16 16:40:46 · 1049 阅读 · 0 评论 -
DOS攻击可能的原因和分析与预防
关于安全的三个最核心的元素CIA,也就是:Confidentiality(保密性):信息只能被授权的人查阅。Integrity(完整性):信息没有被意外地修改。Availability(有效性):信息或者资源在需要的时候,总是可以使用的。 不同的产品对有效性的要求是不一样的,有的要求三个9,有的要求4个9。一个产品的可用性对客户的影响非常大,如果服务经常不可以使用,客户将可能选原创 2013-01-10 13:37:11 · 2888 阅读 · 0 评论 -
多系统,多种浏览器下:文件上下载的文件名和路径问题
当通过HTML实现上载文件时,通常使用组件,一般通过Windows的浏览器访问时,都会复制一个全路径的文件名,这时,就需要通过JavaScript解析,将文件名取出来,函数可能如下:function getFileName(input){ var tmpstr=""+input; var pos = tmpstr.lastIndexOf("/"); if(pos ==原创 2012-12-21 15:34:01 · 1094 阅读 · 0 评论 -
产品架构安全------关注点
The trusted perimeter of the system Trustboundary Trustedcomponent list Mechanismbetween untrusted component and trusted component.The security mechanism between int...原创 2012-11-26 16:49:43 · 621 阅读 · 0 评论 -
Linux root用户与一般用户的区别
root用户可以在Linux系统上做任何操作,权限没有收到任何限制。一般需要root权限的任务包括:移动文件或者文件夹in或者out of 系统目录,复制文件到系统目录,赋予或者收回用户权限,系统维护和安装一些应用程序,例如:安装RPM格式的软件通常需要root权限,因为需要写一些信息到系统目录。还有一个需要注意的就是,对于小于1024端口的知名端口,只有root用户才可以有权限侦听,如果应用程序原创 2012-08-20 16:15:32 · 14393 阅读 · 0 评论 -
字符集编码汇总
Shift_JIS是一个日本电脑系统常用的编码表。它能容纳全角及半角拉丁字母、平假名、片假名、符号及日语汉字。它被命名为Shift_JIS的原因,是它在放置全角字符时,要避开原本在0xA1-0xDF放置的半角假名字符。Shift_JISx0x1x2x3x4x5x6原创 2012-01-17 14:46:01 · 8090 阅读 · 1 评论 -
如何设置堆栈不可执行和ASLR
最近,做一个调查,如何在Windows和Linux系统下,做堆栈执行保护,和ASLR(Address Space Layout Randomization)。找了好多材料,才找到,在这里总结一下: OSExecution space protectionASLR (Address Space Layout Randomization)DescriptionChe原创 2011-11-28 11:08:06 · 5812 阅读 · 0 评论 -
Rizzo/Duong CBC BEAST 攻击的安全影响
第一次翻译英语的技术文章,有些词还把握的不准,于是,就直接使用原单词替换,如有错误还望指正!原文链接地址: http://www.educatedguesswork.org/2011/09/security_impact_of_the_rizzodu.html译文如下:如果你熟悉网络安全,并且没有与世隔绝的话,你可能已经看过最近的关于Rizzo和Duong关于SSL / TLS攻击的实翻译 2011-12-01 08:48:14 · 2991 阅读 · 2 评论 -
安全概要图
原创 2013-03-06 11:09:33 · 722 阅读 · 0 评论 -
boost::format 参数个数不匹配
在C语言中,如果字符串个数不匹配时,会导致内存信息泄露。Boost也提供了format的类用来处理格式化参数,对于格式化参数不匹配,boost的format会如何处理?首先,看一段代码:#include <boost/algorithm/string.hpp>#include <boost/format.hpp>#include<iostream>...原创 2019-09-16 11:41:21 · 740 阅读 · 0 评论