前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页 后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等
平时我们所看到的网页就都是用这几种语言写的。 这些语言呢,也没怎么学过,就学过点儿html。现在来说,也需要去学学这些个语言 HTML是一种标记语言,HTML 标记标签通常被称为 HTML 标签
HTML 标签是由尖括号包围的关键词,比如 HTML 标签通常是成对出现的,比如 和 标签对中的第一个标签是开始标签,第二个标签是结束标签 开始和结束标签也被称为开放标签和闭合标签
CSS可以嵌套在HTML中,也可移出 HTML 文档,移入一个独立的样式表。CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
在 HTML 中,JavaScript 代码必须位于 <script 与 </script 标签之间。
打开一个浏览器,我们可以去查看源代码,源代码就是被浏览器解析后的HTML源码 查看元素/检查: Elements(元素或者查看器)选项可以查看被浏览器解析前的页面源码,并可以更改源码; Console(控制台)选项可以调试页面的JavaScript代码
XSS,Cross Site Script,即跨站脚本攻击,本来缩写是CSS,但是为了和层叠样式表(Cascading Style Sheet ,CSS)有所区别,所以在安全领域叫做“XSS” XSS攻击通常指黑客通过“HTML”注入篡改了网页,插入了恶意的脚本,从而在浏览网页时,控制用户浏览器的一种攻击 XSS长期以来被列为客户端Web安全中的头号大敌。因为XSS破坏力强大,且产生的场景复杂;针对各种不同场景产生的XSS,需要区分情景对待
咋说,这个对于没有搞过的人来说有点难,也难理解。这部分还是要把b站上的视频看完
看着教程搭建了一下DVWA环境,这也是第一次了解到DVWA DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用安全防范的过程。DVWA共有十个模块,分别是: Brute Force(暴力(破解)) Command Injection(命令行注入) CSRF(跨站请求伪造) File Inclusion(文件包含) File Upload(文件上传) Insecure CAPTCHA (不安全的验证码) SQL Injection(SQL注入) SQL Injection(Blind)(SQL盲注) XSS(Reflected)(反射型跨站脚本) XSS(Stored)(存储型跨站脚本) 需要注意的是,DVWA 1.9的代码分为四种安全级别:Low,Medium,High,Impossible。我们可以通过比较四种级别的代码,接触到一些PHP代码审计的内容。
1.下载phpStudy http://phpstudy.php.cn/ phpStudy是集成了Apache和MySql的集成环境,下载好安装phpStudy, 运行时若显示缺少VC运行库 32位的VC9:http://www.microsoft.com/zh-CN/download/details.aspx?id=5582 64位的VC9:http://www.microsoft.com/zh-CN/download/details.aspx?id=15336
2.去这个网址http://www.dvwa.co.uk/下载DVWA压缩包 点击箭头下的DOWNLOAD 下载后解压,放到phpStudy的WWW目录之下 3.更改DVWA-master\config下的config.inc.php.dist文件 打开将密码改掉改成 root(我也不知道为什么要改) 网上的理由:因为咱们刚安装好的集成环境默认的MYSQL链接用户名和密码为 root root,更改之后保存
启动phpstudy
打开浏览器进去http://127.0.0.1/DVWA-master/ 用户名admin,密码password 进入
一个反射型XSS例子 后端代码为: 就是在php根目录里面创建一个php文件,代码如下(原本安装好之后会有php文件,直接在里面进行修改也可以)
<?php $input = $_GET['param']; echo $input; ?>意思就是接受参数param并将其输出到页面
但是如果提交如下一段JavaScript代码: 《script>alert(1)</script》 可以发现,这段代码在当前页面执行了 如果用户的输入提交后触发了弹窗,那么就说明存在XSS 这就是反射型XSS,也叫做“非持久型XSS”,只是简单的把用户输入的数据“反射”给浏览器 另外还有存储型XSS和DOM Based XSS
存储型XSS,也叫做“持久型XSS”,会把用户输入的数据“存储在”服务器端。常见的场景是,黑客写下一篇含有恶意JavaScript代码的博客文章,文章发表后,所有访问该博客文章的用户,都会在他们的浏览器中执行这段恶意的JavaScript代码;
DOM Based XSS,从效果来说也是反射型XSS,单独划分出了是因为DOM Based XSS的形成原因比较特殊,通过修改页面的DOM节点形成的XSS DOM Based XSS 例题:运行下面的代码
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> function test(){ //getElementById():查找并定位id元素 //定义一个变量str,获取id为text的值 var str = document.getElementById("text").value; //将超链接写入id为t的标签中 document.getElementById("t").innerHTML = "<a href='" + str + "' >testLink</a>"; } </script> </head> <body> <div id="t"></div> <input type="text" id="text"> <input type="submit" value="write" onclick="test()"> <!– 当点击按钮时,会触发JavaScript的test函数 --> </body> </html>进去以后有个write按钮 点击之后,会在输入栏上面出现一个超链接 编辑函数’οnclick=alert(“hello”)// 就会蹦出来个弹窗 查看页面代码发生了改变
<a href=‘ ‘ οnclick=alert(“hello”)//’ >testLink 但是XSS并不等同于弹窗,例子只是为了检测是否存在XSS
CSRF,Cross Site Request Forgery,即跨站点请求伪造它是一种常见的Web攻击,也是Web安全中最容易被忽略的一种攻击方式 就是说欺骗用户访问url