测试方法:
在数据录入界面中添加记录输入。
,如果添加成功后看到对话框,说明这里存在XSS漏洞。
或者,更改URL 请求参数,如下所示:
如果页面出现对话框,则表明此处存在XSS漏洞。
建议更改:
从用户输入中过滤掉危险字符。对输入数据执行客户端和程序级验证(例如,使用正则表达式)。
eg: 用户输入位置和可变长度,以及“”、“”、“;”、“\’”等字符是否被过滤
2.CSRF和跨站脚本(XSS)
CSRF 和跨站点脚本(XSS) 是指导致登录浏览器向易受攻击的Web 应用程序发送请求以代表受害者执行选定操作的请求,从而为入侵者带来好处。
测试方法:
两个页面在同一浏览器中打开。某一页面权限过期后,另一页面能否正常运行?
使用该工具发送请求,不要在http请求头中添加referrer字段,检查返回消息的响应,并重定向到错误或登录界面。
建议更改:
在不同的会话中发送相同的请求两次并收到相同的响应。这表明应用程序容易受到此问题的影响,因为所有参数都不是动态的(会话ID 仅在cookie 中发送)。所以解决办法是
1.Cookie哈希(所有格式都包含相同的伪随机值):
2、验证码
3. 一次性令牌(不同格式包含不同的伪随机值) 客户端保护措施:阻止应用程序
用于CSRF 攻击的工具或插件。
3、注射试验
SQL 注入是通过将SQL 命令插入到Web 表单提交中或通过在域名或页面请求中输入查询字符来执行的。
它攻击字符串并最终欺骗服务器执行恶意SQL 命令。
测试方法:
在需要执行查询的页面中,输入正确的查询条件和简单的SQL语句,如1=1,并检查响应结果是否与输入正确查询条件返回的结果相符。由于应用程序不会过滤用户输入,因此您可以提前确定它是否容易受到SQL 注入攻击。
建议更改:
您可以检查用户输入、使用正则表达式并转换以下关键字:
避免使用SQL 动态汇编。您可以使用参数化SQL 或直接使用存储过程来查询和访问数据。
不要使用具有管理员权限的数据库连接,而是对每个应用程序使用具有有限权限的单独数据库连接。
应用程序异常信息应提供尽可能少的提示,并且最好用自定义错误信息包装原始错误消息。
4、登录认证测试
4.1 暴力破解
暴力破解是目前最直接有效的攻击方式,特别是金融服务,密码往往是六位纯数字,容易受到攻击。该测试项目是检查认证系统对暴力破解的防护能力。
测试方法:
启动抓包工具,打开浏览器,进入用户登录页面,输入用户名、密码和验证码登录。如果抓包中有明文用户名和密码,则说明存在漏洞。
建议更改:
将请求方式从HTTP更改为HTTPS或对您输入的用户名和密码进行加密并在服务器端验证密码
4.2 代码注释
由于Web程序开发版本中的注释在发布版本中没有被删除,一些敏感信息被泄露。我想通过检查客户可见页面的源代码来发现此类安全漏洞。
测试方法:
打开登录页面(或者您正在测试的页面),在浏览器中点击邮件查看源代码,看看源代码的注释部分是否有敏感信息泄露。 机密信息包括:内网IP地址、SQL语句、物理路径等
建议更改:
不要在HTML 注释中留下敏感信息(例如文件名或文件路径)。
从生产站点注释中删除以前(或将来)的站点链接跟踪信息。
不要在HTML 注释中包含敏感信息。
确保您的HTML 注释不包含源代码片段。
4.3 用户名破解
要执行暴力攻击,攻击者必须知道现有用户名,然后攻击该用户名。
测试方法:
输入登录界面中不存在的用户名和密码。如果您看到一条消息,表明您的用户名不存在,则意味着您很容易受到攻击。请使用正确的用户名和错误的密码登录。密码不正确意味着存在漏洞。
建议更改:
服务器对所有登录失败原因统一响应,不显示精确的错误消息。
4.4
在缺乏锁定策略和有问题的验证代码设计的情况下,攻击者可以通过枚举进行暴力猜测。
测试方法:
在登录页面输入正确的用户名、错误的密码、正确的验证码,提交表单,重复步骤10。
如果系统没有返回账户锁定等信息,则说明存在漏洞。
建议更改:
当用户错误登录次数达到系统配置时,必须暂时锁定该账号或IP,并在满足解锁条件后解锁。
4.5
为了避免使用自动化工具重复登录和执行任务,请检查是否有验证码机制以及验证码机制是否完整。
测试方法:
打开登录页面并检查验证码。如果不存在,则意味着存在漏洞。
如果您输入了正确的用户名和密码,只输入了错误的验证码,则意味着您容易受到攻击。
选择验证码并右键单击。如果验证码不是以图片形式显示,则说明存在漏洞。
检查验证码图像背景是否有不规则的点或线。如果背景是纯色(例如,只有白色),则意味着存在漏洞。
建议更改:
将验证代码生成放在混淆图像的顶部。
4.6
测试方法:
进入系统密码修改界面,查看是否需要输入旧密码。如果没有,你就很脆弱。
建议更改:
用户在更改密码时必须指定旧密码。对于新密码,请参阅密码规则建议。
4.7 设置默认账户名
一般系统都有一个默认的登录用户和一个超级管理员账户,如果登录账户过于简单,很容易被攻破,导致超级权限泄露。
建议更改:
要么从在线系统中删除具有超级管理员权限的用户,要么使超级管理员的登录名变得复杂,并避免将其设置为易于猜测的名称,例如admin或superadmin。
4.8 页面信息不正确
404 和500 等错误和警告消息可能会暴露敏感信息。
建议更改:
捕获异常并跳转到集成错误页面,防止详细错误信息暴露。
5. 会话管理测试未更新
5.1 会话ID测试
登录成功后检查Session ID是否发生变化。如果不修改此值,则攻击者如果使用某种手段(例如URL 构造)成功登录受害者,也可以使用此值。
会话ID 冒充受害者以获得对系统的访问权限。
测试方法:
2.渗透测试基础知识(1周)
渗透测试流程、分类及标准
信息收集技术:主动/被动信息收集、Nmap工具、Google Hacking
漏洞扫描、漏洞利用、原理、使用、工具(MSF)、IDS绕过、防病毒侦察
主机攻防训练:MS17-010、MS08-067、MS10-046、MS12-20等。
3.操作系统基础知识(1周)
Windows系统常用功能及命令
Kali Linux系统常用功能及命令
操作系统安全(系统入侵调查/系统加固基础设施)
4.计算机网络基础(1周)
计算机网络基础、协议、体系结构
网络通信原理、OSI模型、数据传输流程
常用协议分析(HTTP、TCP/IP、ARP等)
网络攻击技术和网络安全防御技术
Web漏洞原理及防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5.数据库基础操作(2天)
数据库基础
SQL语言基础
加强数据库安全
6. 网络渗透(1周)
HTML、CSS 和JavaScript 简介
OWASP前10名
Web漏洞扫描工具
Web入侵工具:Nmap、BurpSuite、SQLMap、其他(Chop Knife、Miss Scan等)
恭喜。学会了这些,基本上就可以找到渗透测试、Web渗透、安全服务、安全分析等与网络安全相关的工作了。另外,如果你研究好等级保护模块,你就可以得到下一份工作。等级保护工程师。薪资范围6,000-15,000
到现在已经过去一个月左右了。你已经成为一个“脚本小子”了。想要进一步探索吗?
如果你想参与网络安全黑客,作者为你准备了一份:282G,全网最全的网络安全资料包。评论区留言即可获取。
7. 脚本编程(初级/中级/高级)
在网络安全领域。编程能力是“脚本小子”与真正黑客之间的关键区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用的工具不能满足实际需求时,往往需要扩展现有工具或者可能需要创建工具或自动化脚本来满足要求。需要特定的编程技能。在分秒必争的CTF比赛中,需要具备一定的编程能力,才能高效地使用自制的脚本工具来实现各种目标。
如果您是从头开始,我们建议您选择一种脚本语言:Python/PHP/Go/Java 并学习对常用库进行编程。 Wamp 和XAMPP 是PHP 环境的推荐选择。IDE强烈推荐Sublime。 · 学习Python编程,学习内容包括:语法、正则、文件、网络、多线程等常用库。推荐:010至30000。不要阅读所有内容。创建漏洞利用并创建一个简单的网络爬虫。 · PHP 基础知识学习语法,创建简单的博客系统,并学习PHP 或Python 框架(可选)。 Bootstrap 或CSS 布局。
8.超级黑客
这部分内容对于没有基础知识的同学来说还是比较遥远的,所以我们就不细说了,附上学习路线。
如何自学黑客网络安全
如果图片太大且被平台压缩导致看不清,请在评论区点赞留言。我一定会回复
视频支持材料国内外网络安全书籍和文档工具
当然,除了支持视频之外,我们还整理了各种文档、书籍、资源工具,并进行了分类。
有些视频教程是我购买的,其他平台上没有。
#以上是关于Web安全测试的内容(文末会发电子书)_下载电子书安全测试的相关内容摘自网络,供大家参考。相关信息请参见官宣!
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91282.html