总之这是今天的笔记
XSS的原理和分类 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!
1.什么是Javascript JavaScript是指在网页上编写的脚本语言,是对HTML在功能上的扩展。 JavaScript与Java没有任何关系,它们只是名字相似而已。 JavaScript的代码嵌入在HTML里,直接在客户端的浏览器上执行,属于前端语言。 大多数的XSS代码都是使用JavaScript语言编写的,JavaScript能做到什么效果,XSS的威力就有多大。 JavaScript自测https://www.w3school.com.cn/quiz/quiz.asp?quiz=js JavaScript基础语法练习 搭建环境(WS2008+AppServ+Sublime) 例子1:JavaScript test
1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript test</title> </head> <body> <script> document.write("<h1>Hello,world") </script> </body> </html>
例子2:JavaScript 变量
1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript 变量</title> </head> <body> <script> var name = "shuke"; document.write("<h1>hello,"+ name) </script> </body> </html>
例子3:JavaScript 字符串拼接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>字符串拼接</title> </head> <body> <script> var name = "leiyu"; var age = 17; document.write("<h1>Hello,everyone! My name is " + name +". I'm " + age +" years old."); </script> </body> </html>
例子4:JavaScript 事件响应
1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript 事件响应</title> </head> <body> <form action=""> <input type="button" value="请单击此处" onclick=alert('你单击了此按钮,触发了弹窗') > </form> </body> </html>
例子5:JavaScript OnError事件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript OnError事件</title> </head> <body onload=alert("客官,您久等了....")> <img src="./images/welcome.png" onerror=alert("请检查图片路径....")> </body> </html> 加载外部js文件 jstest.html文件 <script src="/js/test.js"></script> test.js文件 alert("hello,world!");
例子6:加载外部文件
1 2 3 4 5 6 7 8 9 10 11 <script src=“URL"></script> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>加载外部js文件</title> </head> <body> <script src="./js/test.js"></script> </body> </html>
例子7:加载外部文件document对象的常用属性:cookie,location
1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>document对象的常用属性:cookie,location</title> </head> <body> <script> alert(document.cookie); alert(document.location); </script> </body> </html>
例子8:location.href实现页面跳转
1 2 3 4 5 6 7 8 9 10 11 12 13 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>location.href实现页面跳转</title> </head> <body> <script> alert(document.location); location="http://www.51cto.com"; </script> </body> </html>
例子9:Javascript语法-条件判断+函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Javascript语法-条件判断+函数</title> </head> <body> <script> function getGrade(score){ if (score>=60){ return "及格"; } else{ return "不及格"; } } document.write(getGrade(40)); </script> </body> </html>
例子10:条件分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>根据分数给出等第</title> </head> <body> <script> function getGrade(score) { if(score>=90) { return "excellent"; } else if(score>=80) { return "good"; } else if(score>=70){ return "just so so"; } else if(score>=60){ return "pass"; } else if{ return "not good"; } } document.write(getGrade(70)); </script> </body> </html>