SQL注入漏洞
SQL注入漏洞简介 SQL 注入(SQL Injection)是发生在 Web 程序中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞。主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。
SQL注入原理一段MySQL查询数据为
1select * from user where user_id = '1'
这一段代码的意思是,查询user表中user_id字段的值为1的所有数据
其中1是我们可以改变的地方,在不做任何防御措施下,我们将其改成我们构造的语句,从而造成SQL注入
1select * from user where user_id = '1' or 1 = 1 --+
改变之后,这段代码的意思就变成了查询user表中user_id字段的值为1或者1=1的所有数据
由于1=1的结果为真,所以最后的结果就是查询user表 ...
Shiro反序列化 - shiro 550 - CVE-2016-4437
漏洞概述 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
shiro反序列化流程
1序列化-->AES加密-->base64-->编码-->发送cookie
漏洞原理Apache Shiro框架提供了记住我的功能(RememberMe),用户登陆成功后会生成经过加密并编码的cookie。cookie的key为RememberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的。在服务端接收cookie值时,按照如下步骤来解析处理:
检索RememberMe cooki ...
Yapi Mock远程代码执行漏洞
漏洞描述Yapi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。
YApi接口管理平台远程代码执行0day漏洞,攻击者可通过平台注册用户添加接口,设置mock脚本从而执行任意代码。鉴于该漏洞目前处于0day漏洞利用状态,强烈建议客户尽快采取缓解措施以避免受此漏洞影响
漏洞影响版本Yapi <= 1.9.2
FOFA搜索指纹1Fofa:app="YApi"
漏洞利用该平台默认开启注册功能,直接注册登录即可
注册之后新建项目
添加接口
选择高级mock-脚本-开启脚本
把以下代码粘贴到脚本中
123456const sandbox = thisconst ObjectConstructor = this.constructorconst FunctionConstructor = ObjectConstructor.constructorc ...
HPP参数污染漏洞
漏洞描述HTTP参数污染,也叫HPP(HTTP Parameter Pollution)。简单地讲就是给一个参数赋上两个或两个以上的值,由于现行的HTTP标准没有提及在遇到多个输入值给相同的参数赋值时应该怎样处理,而且不同的网站后端做出的处理方式是不同的,从而造成解析错误。
原理浏览器在跟服务器进行交互的过程中,浏览器往往会在GET/POST请求里面带上参数,这些参数会以 名称-值 对的形势出现,通常在一个请求中,同样名称的参数只会出现一次。但是在HTTP协议中是允许同样名称的参数出现多次的。比如下面这个链接:https://www.baidu.com/s?wd=aa&wd=bb ,针对同样名称的参数出现多次的情况,不同的服务器的处理方式会不一样。有的服务器是取第一个参数,也就是wd=aa。有的服务器是取第二个参数,也就是wd=bb。有的服务器两个参数都取,也就是wd=aa,bb 。这种特性在绕过一些服务器端的逻辑判断时,非常有用。
漏洞详情以百度为例,当我们提交两个或两个以上的参数时,返回第一个参数的结果
https://www.baidu.com/s?wd=1&wd ...
越权漏洞
漏洞描述越权访问(Broken Access Control,简称BAC)是未必应用程序中一种常见的漏洞,范围广,危害大。
该漏洞是指应用在检查授权时存在纰漏,使得攻击者在活动地权限账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增,删,改,查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不充分,就容易导致越权漏洞
靶场:http://www.wbug.org:9003/
漏洞分类越权访问漏洞主要分为水平越权,垂直越权
水平越权:指攻击者尝试访问与他拥有相同权限的用户资源。例如,用户A和用户B属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据A和数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就叫做水平越权访问。
垂直越权:由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升 ...
CORS(跨域资源共享)配置不当
简介 同源策略(SOP)限制了网络应用之间的信息共享,仅允许同域内进行数据共享。这是很久以前就定下的浏览器安全防护措施。但是,随着网络世界的快速发展,在很多应用场景下,我们都需要将信息从一个子域传递到另一个子域,又或者需要在不同域之间传递数据。这其中可能涉及非常敏感且重要的功能,例如将访问令牌和session标识符传递给另一个应用。
为了在有SOP的情况下实现跨域通信,开发人员必须使用不同的技术绕过SOP来传递数据。此时,“绕过”既是一个正常的技术问题,又是一个敏感的安全问题。为了在不影响应用安全状态的情况下实现信息共享,HTML5中引入了跨域资源共享(CORS)。但是,很多开发者在使用时没有考虑到其中蕴含安全风险,容易出现配置错误,导致出现安全漏洞。
跨域资源共享(CORS)是一种网络机制,使Web浏览器在受控的情况下通过xmlHttpRequest API执行跨域请求。这些跨域请求具有Origin标头,用于标识发起请求的域。它定义了在Web浏览器和服务器之间使用的协议,以确定是否允许跨域请求。
关键的CORS header1Access-Control-Allow ...
jQuery库版本过低
jQuery简介 jQuery是一个快速、简洁的JavaScript框架,是一个丰富的JavaScript代码库。jQuery设计的目的是为了写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
在JQuery的诸多发行版本中,存在着DOM-based XSS(跨站脚本攻击的一种)漏洞,易被攻击者利用。漏洞原因在于过滤用户输入数据所使用的正则表达式存在缺陷,可能导致LOCATION.HASH跨站漏洞。这也是最为被大众熟知的jQuery的一个漏洞。
DOM-based XSS 漏洞影响版本
jquery-1.7.1~1.8.3
jquery-1.6.min.js,jquery-1.6.1.min.js,jquery-1.6.2.min.js
jquery-1.5所有版本
jquery-1.4所有版本
jquery-1.3所有版本
jquery-1.2所有版本
影响版本不全面,建议升级到jquery-3.4.0以上
漏洞测试方法F12打开 ...
文件上传漏洞
文件上传漏洞 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。显然这种漏洞是getshell最快最直接的方法之一,需要说明的是上传文件操作本身是没有问题的,问题在于文件上传到服务器后,服务器怎么处理和解释文件
文件上传漏洞条件
上传的文件可以被web服务器当作脚本来执行
我们可以访问上传文件的路径
服务器上传文件命名规则
第一种:上传文件名和服务器命名一致
第二种:上传文件名和服务器命名不一致(随机,时间日期命名等),但是后缀一致
第三种:上传文件名和服务器命名不一致(随机,时间日期命名等),后缀不一致
漏洞原理 由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件。打个比方来说,如果你使用 php 作为服务器端的脚本语言,那么在你网站的上传功能处,就一定不能让用户上传 php 类型的文件,否则他上传一个木马文件,你服务器就被他控制了。因此文件上传漏洞带来的 ...
Windows(CVE-2019-0708)远程桌面代码执行漏洞
漏洞说明 2019年5月15日微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP)远程代码执行漏洞,该漏洞在不需身份认证的情况下即可远程触发,危害与影响面极大。
漏洞影响版本
Windows 7
Windows server 2008 R2
Windows server 2008
Windows 2003
Windows xp
注:Windows 8和windows10以及之后的版本不受此漏洞影响
漏洞检测方式CVE-2019-0708批量检测工具
12pip install IPycve-2019-0708_v1.py -t ip -p port -f file
CVE-2019-0708检测工具
1cve-2019-0708-scan.exe ip port
漏洞利用方式通过MSF使用POC12345678910root@root:~/桌面# msfconsolemsf5 > search cve_2019_0708msf5 > use exploit/windows/rdp/cve_2019 ...
HTTP.SYS远程执行代码漏洞(MS15-034)
漏洞简介HTTP.sys是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引入,IIS服务进程依赖HTTP.sys。HTTP.sys远程代码执行漏洞实质是HTTP.sys的整数溢出漏洞
远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞
攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃
影响版本任何安装了微软IIS 6.0以上的
123456Win Server 2008 R2Win Server 2012Win Server 2012 R2Win 7Win 8Win 8.1
漏洞检测使用curl工具检测使用python3检测域名使用python3检测IP1curl -i -H "Range: bytes=0-18446744073709551615" http://www.baidu.com
如果服务器存在HTTP.SYS远程代码执行漏洞,那么响应状态应 ...