版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35880197/article/details/81610014
这里不讨论XSS原理和分类那些长篇大论的话,总结下无非是js脚本攻击,而注入js脚本无非通过两种方式:
1,通过钓鱼链接注入js脚本;
2,通过访问数据库,结果数据库返回了某个钓鱼者的js脚本;
这里是一个常见的php页面,
<!DOCTYPE html>
<html>
<head>
<title>XSS</title>
</head>
<body>
</body>
<script type="text/javascript">
function ajax(caller) {
console.log('我是合法的ajax请求,我被【'+caller+'】调用了');
}
ajax("自身");
</script>
</html>
<?php
$xss = $_GET['xss'];
echo $xss;
?>
首先关闭浏览器的XSS防护,然后在地址栏输入http://localhost/xss/xss.php?xss=<script>ajax("非法的")</script>
XSS攻击需要js注入,然后还要成功被浏览器解释,然后就接管了你的某些j甚至全部js操作,js能做什么,XSS攻击就能做什么;
剩下的就是js的注入位置,方式不同,举一反三即可!
就酱!
前两天电话面,
面试官:说说XSS攻击具体能干嘛,
我:很多啊,操作下数据库啊,发cookies啊
面试官:能操作数据库???
我:为什么不能???
面试官:你根本没理解XSS
我:。。。。。。
后面就很不愉快了,敢情你们用户的注册登录发帖发消息不是JS=>后端=>数据库啊,难道直接打电话给程序员说,我要注册,你快帮我在数据库里insert一个账号?