一、WEB 基础知识
二、WEB 安全基础
1、XSS
XSS 全称“Cross Site Script”,中文全称“跨站脚本”(简称应为 CSS,但安全行业为与 CSS(0= 样式表简称)做区分故简称为“XSS”)。
危害:盗取用户信息、钓鱼、制造蠕虫等。
概念:黑客通过“HTNL 注入”篡改网页,插入恶意脚本,当用户浏览网页时,实现控制用户浏览器行为的一种攻击方式。
XSS 分类
- 存储型:执行过程是:黑客将精心构造的 XSS 脚本通过网站的表单提交到服务器,XSS 脚本被保存到数据库中,当其他用户再去访问网页时,网页程序会读取数据库中的数据并渲染到网页中,在渲染数据的过程中从而触发 XSS 脚本的执行。
- 反射型 :访问携带 XSS 脚本的链接触发 XSS,XSS 脚本代码在链接中。关键点在于后台代码在接收到 GET 请求过来的参数之后, 直接将 GET 参数渲染到网页中,当 GET 请求携带的参数为恶意 XSS 脚本代码时,XSS 代码就会被渲染到网页中并触发执行。
- DOM 型:访问带有 XSS 脚本的链接,访问的网页中有对连接中哈希值获取的 js 代码,然后网页的 js 将连接中的含有 XSS 的脚本代码提取并渲染到网页中从而触发 XSS 脚本执行.
2、CSRF
CSRF 全称 Cross-site request forgery,中文名称“跨站请求伪造”。
危害:执行恶意操作(“被转账”,“被发垃圾评论”等),制造蠕虫,等等。
概念:利用用户已登陆的身份,在用户毫不知情的情况下,以用户的名义完成非法操作。
3、点击劫持
点击劫持就是通过覆盖不可见的框架误导受害者点击而造成的攻击行为。
特点:隐蔽性较高、片区用户操作、又称“UI- 覆盖攻击”、利用 iframe 或者其他标签的属性实现
将引入的 iframe 内容可见度通过 css 调为不可见,然后引导用户去操作 iframe 页面中的点击事件从而达到欺骗操作的目的。
4、URL 跳转
定义:借助未验证的 URL 跳转,将应用程序引导到不安全的第三方区域,从而导致的安全问题。
5、SQL 注入
又叫 SQL injection,是一种常见的 Web 安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。
原理就是后天处理程序接收到用户提交的数据之后,后端程序会把用户提交的数据作为条件拼接到 SQL 语句中,但是如果用户提交的数据中包含有某些特殊字符串 比如“‘– ”时(闭合、注释)。那么说拼接的 SQL 语句将会和原设计的效果不一致,从而导致数据泄露修改删除等问题。
SQL 注入的必备条件
- 可以控制输入的数据
- 服务器要执行的代码拼接了控制输入的数据
6、命令注入
类似于 SQL 注入
7、文件操作漏洞
1)、常见的文件操作
- 文件上传(上传头像、上传附件)
- 文件下载
2)、你所不知道的文件操作
- 上传文件,上传 Webshell、上传木马
- 下载文件,下载系统配置、下载程序代码
3)、常见文件操作漏洞
- 文件上传漏洞:可以上传可执行脚本,脚本拥有执行权限。
- 任意文件 下载:未验证下载文件格式,未限制请求的路径,攻击者就会尝试下载服务器的程序文件。
- 文件包含漏洞:
三、WEB 安全工具
四、WEB 安全实战
五、WEB 安全体系建设