SQL注入是服务端 与数据库交互。
XSS 是客户端攻击不与数据库交互。 原理基本相同
xss漏洞能干什么:XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实 施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨 大的,是web安全的头号大敌。
什么是XSS:
xss是跨站脚本攻击,属于客户端攻击,可以做管理员做的事情,进入网站后台。因为管理员也属于用户。攻击者可以借用管理员的身份作为跳板进行攻击。xss攻击最终的目的在网页中嵌入客户端恶意脚本代码 。最常用的攻击代码是javascript语言,其他也可以。
XSS漏洞出现的原因
程序对输入和输出的参数控制不严格未进行过滤造成的。
XSS万能代码:
'"><script>alert(1)</script>
xss的防范方法
防范之一:
可以把原生的html代码给变为符号实体存储
在php中有htmlspecialchars()函数可以把”<” ”>”符号变为符号实体
XSS的编码方式都有哪些
1 plain . 2 url 3 html . 4 base 64 . 5 octal
6 gzip 7 binary 8 hex 9 ascll十六进制数
XSS危害:
1.劫持用户cookie 2.框架钓鱼 3.挂马 4.键盘记录 5刷流量 6刷微博
XSS漏洞类型:
中危漏洞 1.反射型XSS:简单的把用户输入的数据反馈给浏览器 。一次性
'"><sCrIpT>alert(63252)</sCrIpT>
反射型有get 和 post
高危漏洞 2.存储型XSS:交会的数据会被存储到数据库里,例如留言板。永久性。
低微漏洞 3.DOM XSS: 不与后台服务器产生数据交互,是与前端的DOM节点形成XSS漏洞.DOM类型的XSS可能是反射型也可能是储存型,每个类型浏览器都支持DOM型
xss可能存在的地方
HTML文本输入的地方, 标记的地方 , 文本框的地方, ,URL 带连接的地方, 只要有交互,带参数,有输入的地方就会有xss漏洞。
找XSS漏洞成功利用前提条件:
1. 有参数让用户输入的地方
2. 有输入的地方之后还要有输出的地方。
实施XSS攻击需要具备两个条件:
一、需要向web页面注入恶意代码;
二、这些恶意代码 能够被浏览器成功的执行。
XSS漏洞测试方法:
全自动工具: XSS漏洞工具:APPSCAN. AWVS. Burpsuite
半自动化工具:Firefox(火狐). Burpsuite(抓包,写参数)
同源策略
同域名是 协议(https) 子域名 (www.)主域名 (oldboyedu.con)端口(80)都一样为同域名,只要有一个不相同就为跨域操作。
默认情况下是受同源策略限制,如果想要不受限制在PHP代码里加*号即可。
键盘记录:键盘记录只记录当前页面的键盘操作,如果开启其他文件或者文档等不会有记录。
XSS绕过方法
1:对前端的限制可以尝试进行抓包重发或者修改前端的HTML
2:防止后台对输入的内容进行正则匹配来过滤输出,对于这样的过滤可以考虑大小写混合输入的方法。
3.防止后台对输入的内容进行替换,采用拼凑的输入方法