XSS攻击
XSS的了解
跨站脚本攻击(Cross-site scripting,XSS)是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。若受害者运行这些恶意代码,攻击者就可以突破网站的访问限制并冒充受害者。根据开放式 Web 应用安全项目(OWASP),XSS 在 2017 年被认为 7 种最常见的 Web 应用程序漏洞之一。
如果 Web 应用程序没有部署足够的安全验证,那么,这些攻击很容易成功。浏览器无法探测到这些恶意脚本是不可信的,所以,这些脚本可以任意读取 cookie,session tokens,或者其他敏感的网站信息,或者让恶意脚本重写HTML内容。
在以下 2 种情况下,容易发生 XSS 攻击:
数据从一个不可靠的链接进入到一个 Web 应用程序。
没有过滤掉恶意代码的动态内容被发送给 Web 用户。
恶意内容一般包括 JavaScript,但是,有时候也会包括 HTML,FLASH 或是其他浏览器可执行的代码。XSS 攻击的形式千差万别,但他们通常都会:将 cookies 或其他隐私信息发送给攻击者,将受害者重定向到由攻击者控制的网页,或 ...
http协议与https协议
http简介
1.HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议.
2.http协议是基于tcp/ip协议来传输数据(html文件、图片文件、查询结果等)
3.http的url是由http://起始,默认使用端口为80
http工作原理
1.http协议工作于客户端-服务器架构上
2.浏览器作为http客户端通过url向http服务端即web服务器发送所有的请求。
3.web服务器接受到请求后,向客户端发送响应信息
4.http的默认端口号为80,但可以改为其他的端口
http协议的工作原理示意图
https简介
https经由http进行通信,但是利用ssl/tls来加密数据包,https的开发的主要目的是提供对网站服务器的身份认证,保护交换资料的隐私和完整性。
https的url是由https://起始,默认端口为443
https的作用
信任的情况:
与一个网站之间的 HTTPS 连线仅在这些情况下可 ...
web基础知识
php文件有以下几种备份的格式:
1.git .svn .swp .bak .bash-history
类如
1index.php.git
robots协议
robots协议规定了哪些东西可以抓取,哪些东西不能够抓取。robots.txt是一个文本文件也是一个协议。其可以在搜索引擎中访问网站中要查看的第一个文件。
cookie
cookie是主机访问web服务器由服务器创建的,将信息储存在用户计算机上的文件,一般用户习惯使用cookies
cookie的使用:
1…判断用户是否已经登录网站
2.购物车网站用户跳转保存在其中的数据
3.等等等
php对于文件的读取
1php://filter/read=convert.base64-encode/resource=index.php
组成解析
1.php://filter/可以作为一个中间流来处理其他流,可以进行任意文件的读取。
2.read=convert.base64-encode/resource将数据转换为base64编码来读取数据
3.=index.php读取的文件
添加:
读取上级目录文件
1php://fil ...
php注入概述
rce概念:remote command/code execute,远程命令/代码执行。
php代码执行:在web中,php代码执行是指应用程序过滤不严,用户可通过http请求将代码注入到应用中执行
php代码注入与sql注入比较:
注入的思想类似,均是构造语句绕过服务器的过滤去执行。
区别在于sql注入是将语句注入到数据库中执行,而php代码执行是可以将代码注入到应用中,最终由服务器运行。
php代码注入的条件:
1.程序中含有可以执行php代码的函数或者语言结构
2.传入该函数或者语言结构的参数是可以由客户端控制的(可以直接修改或者造成影响)且应用过滤不严。
危害:
这样的漏洞如果没有特殊的过滤,相当于一个web后门的存在,攻击者可以执行漏洞继承web用户权限,执行任意代码。如果服务器没有正确配置或者web用户权限比较高的话,还可以读写靶机服务器任意文件的内容,甚至控制整个网站或者服务器。
相关的函数或语言结构
1.eval()函数
作用:该函数的作用是将字符串作为PHP代码执行。
例:
12345678<?phpif (isset($_GET['c ...
web
未读01.get&&post的区别:
1.传送方式的不同:get通过url进行传参,而post通过dao文传输。
2.传送长度的不同:get因为通过url栏进行传参,所以其长度是有限的,受限于url栏的长度。而post则没有限制。
3.get产生一个tcp数据包,而Post产生两个数据包。
get请求,浏览器会把header和data一起发送出去,服务器响应200
post请求,浏览器会先发送header,然后服务器响应100,之后再发送data,浏览器响应200。
4.get请求是幂等的,即多次请求同一个资源会得到相同的结果,而post请求是非幂等的,即多次请求之后对同一个资源会产生不同的结果。
5.get请求通常用来获取资源,而post请求通常用来提交数据发送表单,进行状态修改等操作。
6.get请求可以缓存,可以被存为书签,可以被浏览器的历史纪录查询,而post请求则都不能。
1url/?...=...
02url栏的组成
例子:http://thecat.top:80/cat/index.phpuserID=1&passwordID=123456#OK
1. ...