安全
项目测试中常见的 安全漏洞以及整改方法
夜行者~
一花一世界,一人一空城,一叶一菩提
展开
-
Memcached未授权访问
由于memcached安全设计缺陷,客户端连接memcached服务器后无需认证就可读取、修改服务器缓存内容。除memcached中数据可被直接读取泄漏和恶意修改外,由于memcached中的数据像正常网站用户访问提交变量一样会被后端代码处理,当处理代码存在缺陷时会再次导致不同类型的安全问题(二次安全漏洞)。检测方法:1)登录机器执行netstat-an |more命令查看端口监听情况。若回显0.0.0.0:11211,表示在所有网卡进行监听,则存在memcached未授权访问漏洞。...原创 2022-02-18 16:32:49 · 4153 阅读 · 0 评论 -
Redis未授权访问
Redis因配置不当导致未授权访问。攻击者无需认证能访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall命令来清空所有数据;攻击者还可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件。如果Redis以root身份运行,可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。检测方法:1)使用telnet命令进行探测,命令如下:telnet x.x.x.x63792)在telnet命令窗口输入info,若出现以下所示图片,则...原创 2022-02-18 16:31:45 · 2829 阅读 · 0 评论 -
TLS协议版本低
检测方法:使用nmap进行扫描,命令如下:nmap-sV--script ssl-enum-ciphers -p 443 x.x.x.x,若出现以下所示图片,则存在漏洞解决方法(强制使用TLS1.2协议):1.weblogic在weblogic的setDomainEnv.sh中增加限制参数-Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.22.Nginx在nginx配置文件中增加配置:ssl_protoc...原创 2022-02-18 16:30:15 · 5717 阅读 · 0 评论 -
心脏滴血漏洞
检测方法:1)打开心脏滴血检测工具,输入IP与端口进行扫描,若扫描结果中有则存在心脏滴血漏洞。2)使用heartbleed.py或kaillinux中工具进行测试。3)使用nmap进行扫描,命令如下:nmap-sV-p 443 --script ssl-heartbleed.nsex.x.x.x解决方法:升级openssl版本...原创 2022-02-18 16:28:39 · 1916 阅读 · 0 评论 -
中间件漏洞--Weblogic SSRF
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。检测方法:1)在现有已知中间件为Weblogic中间件后构造url,如:http://xxx.xxx.xxx.xxx:7001/uddiexplorer/SearchPublicRegistries.jsp或http://xx.xx.x.x:7001/uddi/uddilistener输入浏览器中访问。原创 2022-02-18 16:27:45 · 1915 阅读 · 0 评论 -
中间件漏洞--Weblogic反序列化
检测方法1:1)使用Weblogic中间件JAVA反序列测试工具,输入端口号与ip点击connect按钮;2)若是结果出现connected!测试存在漏洞,出现connecting--测试不存在该漏洞检测方法2:1)打开DOS,输入java -jar weblogic_cmd.jar-H “127.0.0.1” –P 7001–C “ipconfig”;2)若能成功执行命令,则存在漏洞。解决方法:升级...原创 2022-02-18 16:26:26 · 2899 阅读 · 0 评论 -
中间件漏洞--tomcat
1.后台地址泄露解决办法:1). 删除TOMCAT_HOME/webapps/docs、examples、manager、ROOT、host-manager2). 编辑TOMCAT_HOME/web.xml,修改<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>下的初始化参数<param-name>listings</param-name>...原创 2022-02-21 09:31:28 · 1702 阅读 · 0 评论 -
登录验证码漏洞
检测方法:1)验证码和用户名、密码是否一次性、同时提交给服务器验证,如果是分开提交、分开验证,则存在漏洞;2)在服务器端,是否只有在验证码检验通过后才进行用户名和密码的检验,如果不是说明存在漏洞;3)验证码是否为图片形式且在一张图片中,不为图片形式或不在一张图片中,说明存在漏洞;4)生成的验证码是否可以通过html源代码查看到,如果可以说明存在漏洞;5)生成验证码的模块是否根据提供的参数生成验证码,如果是说明存在漏洞;6)请求10次观察验证码是否随机生成,如果存在一定的规律(例如5次原创 2022-02-18 16:17:06 · 1941 阅读 · 0 评论 -
目录遍历漏洞
目录遍历漏洞是由于web中间件目录访问相关的配置错误造成的,该漏洞会泄露web应用程序的敏感路径、敏感的文件信息、网站的编辑器路径或测试接口、系统敏感目录(配合../等目录跳转符)等信息,从而给网站的安全带来威胁检测方法:主要有两种方式:手工测试和使用自动化扫描器。1)手工测试:通过直接访问网站的各种目录(不加文件名和参数),如果显示了该目录下的文件和目录信息,证明存在该漏洞。2)自动化扫描:一般使用大型的web漏洞扫描工具来进行自动测试,如awvs、w3af、APPscan、dirBust原创 2022-02-18 16:15:50 · 5867 阅读 · 0 评论 -
敏感信息泄露漏洞
系统暴露系统内部信息,如网站绝对路径、网页源代码、SQL语句、中间件版本和程序异常等信息。数据库的敏感信息泄露(数据库表段等信息泄露),攻击者可能利用此缺陷对客户端或服务器发送特殊构造的数据,发出攻击,从而了解后台数据库表等信息,对系统安全构成威胁。通过系统暴露出的异常信息,便于入侵者了解系统框架及代码等,从而加大系统被侵入的风险解决方案:1.对用户输入的异常字符做过滤,防止网站绝对路径、网页源代码和SQL语句等信息输出。2.屏蔽应用程序报错回显,防止恶意用户获得服务器的敏感信息,或对出错信息进原创 2022-02-21 09:31:46 · 7118 阅读 · 0 评论 -
不安全的Cookie
Cookie存储在浏览器端(用户本地),攻击者能够通过脚本、工具等截获cookie信息,窃取Cookie中的敏感信息(若有),或利用Cookie进行欺骗(模拟身份验证),获得用户的隐私信息,造成更大的危害。检测方法:1)获取系统登陆后的请求包,查看系统请求时的请求包中cookie是否包含账号密码等敏感信息2)查看cookie是否使用HttpOnly属性,浏览器F12,在会话中输入javascript:alert(document.cookie),检查是否弹出用户会话信息解决方法:1. 设原创 2022-02-21 09:31:58 · 1701 阅读 · 0 评论 -
未验证的重定向和转发
未验证的重定向和转发,是指系统在进行页面转发和重定向时该重定向或者转发的页面不是系统可信页面,并且重定向或转发前未经安全验证检测方法:在请求地址后面拼接恶意地址,如下图中的http://site.top/home为不可信任地址,如果能跳转,则有漏洞http://xxx/login.jsp?redirectUrl=http://site.top/home解决方案:1.不直接从输入中获URL;2.检查重定向或跳转的目标URL是否为本系统URL;3.对输入进行过滤。...原创 2022-02-18 16:11:39 · 1288 阅读 · 0 评论 -
服务器端请求伪造-SSRF漏洞
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。通过ssrf攻击,可以实现对内网的访问,从而可以攻击内网或者本地机器,获得shell等检测方法:1)对被检系统进行检测,如该系统网络内存在192.168.1.66地址,则在浏览器内访问以下链接,http://www.exmaple.com/uddiexplorer/SearchPublicRegistries.jsp?operator=http://192.16原创 2022-02-18 16:08:11 · 1379 阅读 · 0 评论 -
设计或逻辑漏洞--IP设计缺陷
业务系统实现审计日志功能时在记录IP时从请求头信息(x-forwarded-for等)中获取IP地址,x-forwarded-for等信息可以进行伪造,从而造成系统存在设计缺陷,更严重的会存在XSS漏洞。检测方法:1)使用burpsuite拦截访问请求,放入repeater中2)在请求中增加参数X-Forwarded-For: 10.10.1.13)查看系统日志,检查日志内容中IP字段是否记录为10.10.1.1,如果是则说明存在漏洞。解决方案:系统获取IP地址时,使用request.g原创 2022-02-21 09:32:10 · 1090 阅读 · 0 评论 -
设计或逻辑漏洞
程序都是通过逻辑实现各种丰富多彩的功能的,要实现这些功能,必须掌握大量的技巧并进行周密的安排。但是,有很多情况这些功能逻辑存在缺陷,比如程序员的安全意识,比如考虑问题不周全等。即使是最简单的web应用程序,每个阶段都会执行大量的逻辑操作。设计缺陷/逻辑漏洞包括但不仅限于:• 1)修改数值• 2)验证码爆破• 3)修改响应包• 4)修改密码• 5)服务端无有效验证• 6)未授权访问• 7)返回密码信息• 8)密码明文存储检测方法:1.修改数值(如:构造SQL语句可被原创 2022-02-21 09:32:22 · 1101 阅读 · 0 评论 -
会话重放漏洞
攻击者可以拦截并重复发送一个有效的数据包到服务端,服务器端未对用户提交的数据包重放进行有效限制。如:可以抓取HTTP包固定账号破解密码、固定密码破解账号和重放提交投票数据包等。检测点:用户登录、系统审核、新建用户等关键操作检测方法:以系统登录为例:1)使用抓包工具抓取系统登录请求,获得用户和密码参数。2)使用用户或密码字典替代登录请求会话中对应的用户或密码参数。3)开始尝试暴力破解。4)若网站登录请求可以无限尝试登录,则存在漏洞解决方案:1.添加nonce验证、时间戳或者图片原创 2022-02-18 15:55:18 · 3289 阅读 · 0 评论 -
明文传输漏洞
业务系统对用户口令等机密信息的保护不足,攻击者可以利用攻击工具,从网络上窃取合法用户的口令数据,从而登录系统执行非法操作。攻击者可以利用监听工具在网络中窃取合法用户的口令数据,从而非法获取系统的访问权限。检测方法:通过burpsuite工具拦截系统请求,查看请求中是否包含有敏感信息,检查敏感信息加密方式。特别需要重点检查的是用户口令、邮箱密码、用户私密信息(手机号、身份证号、银行卡号等)。解决方案:对系统内关于密码传输的信息需要做加密处理;建议采用国密算法,不要采用容易被破解的加密方法(如m原创 2022-02-18 15:53:36 · 3115 阅读 · 0 评论 -
文件下载漏洞
一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。如:www.abc.com/dowenload?filename=../../WEB-INF/web.xml检测方法:1)查找系统中下载功能处;2)通过burp进行拦截请求,分析请求参数;3)若存在文件名称之类的参数则可以使用burp中intruder功能,利用文件遍历字典进行暴破;4)检查请求响应,若能读出服务器文件则存在漏洞解原创 2022-02-18 15:51:38 · 3610 阅读 · 0 评论 -
文件上传漏洞
文件上传漏洞是指系统没有限制用户上传文件的格式,或者能绕过限制上传文件,或仅仅在客户端对上传文件类型进行限制,未在服务器端进行验证,导致非法文件上传。攻击者可以上传webshell脚本,再通过菜刀等工具可以对服务器上的任意文件进行篡改,执行cmd命令,在服务器上添加管理员用户,从而获取服务器超级管理员权限。检测方法:1)burp中拦截上传请求,修改文件后缀,检查是否上传成功。2)修改上传请求头content-type,检查是否上传成功;3)伪造合法文件,进行上传操作,检查系统是否上传成功(检原创 2022-02-18 15:50:31 · 649 阅读 · 0 评论 -
安全测试-越权漏洞
越权漏洞一般分为横向越权与纵向越权两种检测方法:横向越权:选取两个数据权限不同的账户(菜单基本相同,但是菜单中看到的内容不同),修改请求参数进行操作,若能访问到对方用户的数据则存在横向越权。纵向越权:选取两个权限不同的账户,如管理员与审计员。分别使用管理员去访问审计员的特有菜单,审计员去访问管理员的菜单,若访问成功则存在纵向越权。测试时建议可使用burp插件authz进行全覆盖越权测试。解决方法:系统应当做好用户权限和数据权限的设计实现,对用户身份进行严格校验...原创 2022-02-18 15:48:50 · 2766 阅读 · 0 评论 -
跨站请求伪造Cross-Site Request Forgery-CSRF
跨站请求伪造(Cross-Site Request Forgery,CSRF)是一种使已登录用户在不知情的情况下执行非本意的操作的攻击方法。因为攻击者看不到伪造请求的响应结果,所以CSRF攻击主要用来执行动作,而非窃取用户数据。当受害者是一个普通用户时,CSRF可以实现在其不知情的情况下转移用户资金、发送邮件等操作;但是如果受害者是一个具有管理员权限的用户时CSRF则可能威胁到整个Web系统的安全检测方法:1)使用burp修改或删除请求头中Referer值,检查请求是否正常响应,若响应正常则存在此漏原创 2022-02-18 15:47:00 · 1133 阅读 · 0 评论 -
SQL注入漏洞
SQL注入漏洞就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串中,最终达到欺骗服务器执行恶意的SQL命令。SQL注入漏洞产生需要满足两个条件:1)参数用户可控:前端传给后端的参数内容是用户可以控制的;2)参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询。SQL注入漏洞会导致数据库信息泄露、网页篡改(登陆后台后发布恶意内容)、网站挂马(当拿到webshell时或者获取到服务器的权限以后,可将一些网页木马挂在服务器上,去攻击别人)、私自添加系统账号、读..原创 2022-02-18 15:44:36 · 2008 阅读 · 0 评论 -
跨站脚本漏洞-XSS
xss攻击是指利用网页的漏洞注入恶意的指令代码到网页,使得用户加载并执行攻击者恶意制造的网页程序,XSS攻击可以窃取cookie从而获得用户的账号和个人信息,网站挂马,有限的键盘信息,发送广告和垃圾短息。XSS漏洞分为三种,存储型,反射型和DOM型。检测方法:1.通过扫描工具appscan或者burpsuite工具扫描,查看与验证扫描结果中的XSS漏洞2.反射型XSS,在请求的url的参数后面拼接XSS脚本,看是否能正常执行3.存储型XSS,在保存数据的时候输入XSS脚本,检查数据是否能原创 2022-02-18 15:22:45 · 1752 阅读 · 0 评论