本文目录一览:
如何系统学习web安全,web渗透测试
首先得清楚web安全/web渗透是什么:模拟黑客攻击,利用黑客技术,挖掘漏洞,提出修复建议。
涉及到的技术有:数据库/网络技术/编程技术/操作系统/渗透技术/攻防技术/逆向技术/SRC漏洞平台/ctf经验。。
岗位能力要求:
1、熟练使用awvs、nessus、metasploit、burpsuite等安全测试工具,并对其原理有一定了解
2、熟悉OWASP中常见的web安全漏洞、业务逻辑漏洞及其原理
3、熟悉渗透测试技术的整体流程,具备独立开展渗透工作的能力;
4、熟悉linux系统操作,了解常见web中间件、数据库、服务器相关漏洞
5、至少掌握一种编程语言,能够开发用于辅助日常工作的脚本
6、具备一定的php或java代码审计能力,能够对公开漏洞进行分析
7、具备良好的逻辑思维、沟通技巧及团队协作能力
8、已取得信息安全等级测评师证书的优先。(NISP)
想要系统的学习web渗透,可以参考企业对人才的要求进行学习。
web攻击有哪些?怎么防护?
1、DoS和DDoS攻击(DoS(Denial of Service),即拒绝服务,造成远程服务器拒绝服务的行为被称为DoS攻击。其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击)
防范:(1) 反欺骗:对数据包的地址及端口的正确性进行验证,同时进行反向探测。(2) 协议栈行为模式分析:每个数据包类型需要符合RFC规定,这就好像每个数据包都要有完整规范的着装,只要不符合规范,就自动识别并将其过滤掉。(3) 特定应用防护:非法流量总是有一些特定特征的,这就好比即便你混进了顾客群中,但你的行为还是会暴露出你的动机,比如老重复问店员同一个问题,老做同样的动作,这样你仍然还是会被发现的。(4) 带宽控制:真实的访问数据过大时,可以限制其最大输出的流量,以减少下游网络系统的压力。
2、CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,但很多开发者对它很陌生。CSRF也是Web安全中最容易被忽略的一种攻击。
防范:(1) 验证码。应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制CSRF攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。(2) Referer Check。HTTP Referer是header的一部分,当浏览器向web服务器发送请求时,一般会带上Referer信息告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。可以通过检查请求的来源来防御CSRF攻击。正常请求的referer具有一定规律,如在提交表单的referer必定是在该页面发起的请求。所以通过检查http包头referer的值是不是这个页面,来判断是不是CSRF攻击。但在某些情况下如从https跳转到http,浏览器处于安全考虑,不会发送referer,服务器就无法进行check了。若与该网站同域的其他网站有XSS漏洞,那么攻击者可以在其他网站注入恶意脚本,受害者进入了此类同域的网址,也会遭受攻击。出于以上原因,无法完全依赖Referer Check作为防御CSRF的主要手段。但是可以通过Referer Check来监控CSRF攻击的发生。(3) Anti CSRF Token。目前比较完善的解决方案是加入Anti-CSRF-Token,即发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务。这种方法相比Referer检查要安全很多,token可以在用户登陆后产生并放于session或cookie中,然后在每次请求时服务器把token从session或cookie中拿出,与本次请求中的token 进行比对。由于token的存在,攻击者无法再构造出一个完整的URL实施CSRF攻击。但在处理多个页面共存问题时,当某个页面消耗掉token后,其他页面的表单保存的还是被消耗掉的那个token,其他页面的表单提交时会出现token错误。
3、XSS(Cross Site Scripting),跨站脚本攻击。为和层叠样式表(Cascading Style Sheets,CSS)区分开,跨站脚本在安全领域叫做“XSS”。
防范:(1) 输入过滤。永远不要相信用户的输入,对用户输入的数据做一定的过滤。如输入的数据是否符合预期的格式,比如日期格式,Email格式,电话号码格式等等。这样可以初步对XSS漏洞进行防御。上面的措施只在web端做了限制,攻击者通抓包工具如Fiddler还是可以绕过前端输入的限制,修改请求注入攻击脚本。因此,后台服务器需要在接收到用户输入的数据后,对特殊危险字符进行过滤或者转义处理,然后再存储到数据库中。(2) 输出编码。服务器端输出到浏览器的数据,可以使用系统的安全函数来进行编码或转义来防范XSS攻击。在PHP中,有htmlentities()和htmlspecialchars()两个函数可以满足安全要求。相应的JavaScript的编码方式可以使用JavascriptEncode。(3) 安全编码。开发需尽量避免Web客户端文档重写、重定向或其他敏感操作,同时要避免使用客户端数据,这些操作需尽量在服务器端使用动态页面来实现。(4) HttpOnly Cookie。预防XSS攻击窃取用户cookie最有效的防御手段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以避免该网页的cookie被客户端恶意JavaScript窃取,保护用户cookie信息。(5)WAF(Web Application Firewall),Web应用防火墙,主要的功能是防范诸如网页木马、XSS以及CSRF等常见的Web漏洞攻击。由第三方公司开发,在企业环境中深受欢迎。
4、SQL注入(SQL Injection),应用程序在向后台数据库传递SQL(Structured Query Language,结构化查询语言)时,攻击者将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
防范:(1) 防止系统敏感信息泄露。设置php.ini选项display_errors=off,防止php脚本出错之后,在web页面输出敏感信息错误,让攻击者有机可乘。(2) 数据转义。设置php.ini选项magic_quotes_gpc=on,它会将提交的变量中所有的’(单引号),”(双引号),\(反斜杠),空白字符等都在前面自动加上\。或者采用mysql_real_escape()函数或addslashes()函数进行输入参数的转义。(3) 增加黑名单或者白名单验证。白名单验证一般指,检查用户输入是否是符合预期的类型、长度、数值范围或者其他格式标准。黑名单验证是指,若在用户输入中,包含明显的恶意内容则拒绝该条用户请求。在使用白名单验证时,一般会配合黑名单验证。
5、上传漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级高,现在的入侵中上传漏洞也是常见的漏洞。该漏洞允许用户上传任意文件可能会让攻击者注入危险内容或恶意代码,并在服务器上运行。
防范: (1)检查服务器是否判断了上传文件类型及后缀。 (2) 定义上传文件类型白名单,即只允许白名单里面类型的文件上传。 (3) 文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击。 Info漏洞 Info漏洞就是CGI把输入的参数原样输出到页面,攻击者通过修改输入参数而达到欺骗用户的目的。
求《黑客攻防技术宝典Web实战篇第2版》全文免费下载百度网盘资源,谢谢~
《黑客攻防技术宝典Web实战篇第2版》百度网盘pdf最新全集下载:
链接:
?pwd=fke4 提取码: fke4
简介:《黑客攻防技术宝典.Web实战篇(第2版)》是探索和研究Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web 应用程序的弱点,并深入阐述了如何针对Web 应用程序进行具体的渗透测试。本书从介绍当前Web 应用程序安全概况开始,重点讨论渗透测试时使用的详细步骤和技巧,总结书中涵盖的主题。每章后还附有习题,便于读者巩固所学内容。
什么是WEB安全?是网络安全么?
网站安全
§1、网站安全概述
一、 常见的网站提供的服务:DNS SERVER,WEB SERVER,E-MAIL SERVER,FTP SERVER,此外网站还需要有个主服务器(最好不要把网站的操作系统服务器与上述的SERVER 放在一起)(不一定全对互联网开放)
1、 这些常见的服务属于TCP/IP协议栈,如果低层安全性被攻击了,则高层安全成了空中楼阁。所以要进行安全分析(安全只是个动态的状态)
2、 TCP/IP协议栈各层常见的攻击(回忆TCP/IP各层结构图)
(1)物理层:数据通过线传输是特点
威胁:监听网线,sniffer软件进行抓包,拓朴结构被电磁扫描攻破
保护:加密,流量填充等
(2)internet层:提供寻址功能是其特点-----路由,IP,ICMP,ARP,RARP
威胁:IP欺骗(工具完成将数据包源地址IP改变)
保护:补丁、防火墙、边界路由器设定
(3)传输层:控制主机间的信息流量-----TCP,UDP
威胁:DOS(图),DDOS,会话劫持等
保护:补丁、防火墙、开启操作系统抗DDOS攻击特性
(4)应用层:协议最多最难防
①SMTP协议:
威胁:邮件风暴(黑客给邮件服务器不断发木马或病毒),企业用户内网与外网采用同样的邮箱名,邮件的中继与转发(图)
保护:防病毒网关,邮件服务器软件及时打补丁
②FTP协议:
威胁:匿名用户如果具有写权限,会上传非法服务给FTP SERVER; 用户名、口令在FTP客户端与服务器端之间是明文传输
保护:FTP数据存放于独立分区,不允许匿名的FTP连接,上传与下载位于不同的NTFS分区,FTP客户端与服务器端的通讯进行加密SSH
③HTTP协议:
威胁:Java script,CGI,ASP,ActiveX
保护:禁止这些不安全的控件,杀毒软件
④Telnet协议:
威胁:明文传输敏感数据
保护:加密
⑤SNMP协议:
威胁:public默认社区名,明文传输敏感信息
保护:将默认社区名改名,防火墙
⑥DNS协议:
威胁:DNS欺骗
保护:防火墙阻止,在DNS zone中设定成只允许几个主机的zone传输
3、 网站业务流(电子商务与普通企业网站业务流不同,重点是认证)、采用的拓朴、防火墙体系结构、操作系统等的不同,受到的威胁也不同
二、 在网站业务流、采用的拓朴、防火墙体系结构、操作系统等体系结构确定的前提下,还存在的安全问题
1、未授权存取(匿名用户具有写权限----IIS写权限扫描工具+桂林老兵可以完成)
2、窃取系统信息:帐号,银行
3、破坏系统:破坏数据(删除数据)
4、非法使用:利用FTP服务器存放非法软件
5、病毒木马:不小心执行病毒、木马
三、web站点典型安全漏洞
1、操作系统类:通用安全漏洞,各操作系统特有的安全漏洞
2、路由器等网络系统漏洞:如路由器、防火墙等的缺省配置及配置错误(一部分边界路由器有自动配置的功能,但这种自动配置功能必须手工开启)(见校园网拓朴结构图)
3、应用系统安全漏洞:协议漏洞
4、网络安全防护系统不健全:缺乏安全意识,缺少定期的安全检测、安全监控
5、其它漏洞:易被欺骗,弱认证,对电邮队服附件病毒及WEB浏览可能存在的恶意java/ActiveX小控件进行有效控制。
正因为存在这些安全漏洞所以要制定安全策略。
§2、WEB站点安全策略
允许远程执行CGI脚本,脚本中的bug会成为保护操作系统的漏洞;但如果限制CGI限制得过头了,web使用起来不方便(安全是使用方便与安全配置之间的一个平衡点)
一、 安全策略定制原则:
1、风险分析:搞清站点属于低端安全、中端安全、还是高端安全?易受哪些威胁?(默认配置)?根据威胁进行安全评估(使用启明星辰的工具)
2、服务器记录原则:web服务器会记录它们收到的每一次连接(如果web server采用认证的方式还会记录下用户名),该用户在此期间填写的表格会被记录下来,会对用户构成威胁。
解决方案:web服务器管理者可以查阅用户资料,但无需打开(审计人员查管理员好些)
二、 配置web server的安全特性
1、用户与站点建立连接的过程中可能会造成因域名欺骗而使得用户得不到授权访问及要求的信息或者把黑客当作合法用户来允许其访问
2、加强各服务器的措施
①web server:主分区存放操作系统,web server放至另一分区;CGI脚本放至第三个NTFS分区;不以administrator身份运行web server(而以另一用户身份运行web server)其余见winnt站点解决方案
②ftp server:与web server不同分区,允许只读访问,进行访问控制的设置(一般只对内网开放)
③电子邮件服务器:安装网络级电子邮件扫描软件;禁掉中继任何未授权用户;设置垃圾邮件过滤及巨型邮件过滤条件
三、 排除站点中的安全漏洞,尽量减少安全漏洞
1、物理漏洞:未授权人员访问引起的
2、软件漏洞:由软件应用程序的错误授权引起。首要规则----不轻易相信脚本、java applet
3、不兼容问题
4、缺乏安全策略
四、 监视控制出入web站点的出入情况
1、 Webtrends:查访问次数最多的站点、最频繁的用户。它可以完成监控请求(如:sever访问次数,用户来自何处,服务器上哪类信息被访问、访问的浏览器类型、用户提交方式等);它可以测算命中次数(可以确定出站点的命中次数----一个用户详细地读站点时一次简单的会话可以形成几次命中;还可以通过站点上某个文件的访问次数来确定站点访问者的数目)
2、 入侵检测系统:免费的snort
3、 传输更新:web三元素----HTTP协议,数据格式HTML,浏览器。三元素以HTML为中心,必须保持其更新