XSS
跨站脚本
盗取用户信息,钓鱼,制造蠕虫等
1. 存储型
访问网站时触发,xss脚本存储在web服务器上
2. 反射型
访问携带xss脚本链接时触发,在url上执行脚本
3. DOM型
访问携带xss脚本链接时触发,脚本通过JavaScript写入hash
三种类型区分
CSRF
跨站请求劫持
利用用户已登录的身份,在用户毫不知情的情况下,,以用户的名义完成非法操作
造成原因:
对关键操作缺少确认机制
利用效果:
被转账,被发垃圾评论,被投票等,制造蠕虫
原理分析:
黑客将写有下面攻击代码的恶意网页嵌入iframe,再将iframe放到一个看起来正常的网页,当用户点开网页时立马被自动转账,iframe隐藏了表单提交的跳转
利用条件:
被害用户已经完成身份认证新请求的提交不需要重新身份认证攻击者必须了解web app请求的参数构造诱使用户触发攻击命令(社工)
防范方法:
Captcha(验证码)anti-CSRF tokenReferrer头降低会话超时时间
点击劫持
通过调整iframe或其他标签透明度将框架隐藏误导用户点击而产生的攻击
URL跳转
借助未验证的URL跳转,将应用程序引导到不安全的第三方区域(恶意网站)
2. JavaScript跳转
常见案例
SQL注入
数据当做代码来执行
获取管理员用户名,密码,手机号,身份证等数据库信息 获取服务器权限 植入webshell,后门 读取服务器敏感文件 万能密码
过程
获取用户请求参数拼接到代码中SQL语句按照我们构造参数的语义执行成功
必备条件
可以控制输入的数据服务器要执行的代码拼接了控制的数据
利用
万能密码(– 即杠杠空格,在SQL语句中为注释符) 获取数据库版本 获取数据库当前用户
命令注入
DOS命令BASH命令
PHP执行命令的函数
systemexecshell_execeval等
实例
注意 有时需要URL转义,这里的&就是&
文件操作漏洞
常见文件操作
上传头像,附件下载应用,附件
危害
文件上传漏洞 任意文件下载
未验证下载文件格式名未限制请求路径文件包含漏洞
本地文件包含远程文件包含
常用文件包含函数
include()require()include_once()require_once()
本地测试注意