web前端与安全

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43613144/article/details/96431049

前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页
后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等

在这里插入图片描述

前端的语言有HTML、CSS、JavaScript

平时我们所看到的网页就都是用这几种语言写的。
这些语言呢,也没怎么学过,就学过点儿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

展开阅读全文

没有更多推荐了,返回首页