原型与原型链原型是Javascript中继承的基础,Javascript的继承就是基于原型的继承
所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型)
所有函数拥有prototype属性(显式原型)(仅限函数)
原型链是Javascript的实现的形式,递归继承原型对象的原型,原型链的顶端是Object的原型。
原型链污染原理.__proto__ 指向类的 prototype,那么修改了实例化的对象的 .__proto__ 的内容,类的 prototype 的内容是否也会发生改变,这就是原型链污染的利用方法。
造成这个漏洞的有一个很重要的前提,这题目的后端是node.js来写的,也就是说后端不是php服务器,不是java服务器,而是JavaScript服务器。
因为是JavaScript语言来处理后端,用JavaScript的那个函数来处理,所以才有这个漏洞产生。
正常情况下,在代码中正常生成的对象,是没有污染的。
123456789baseUser = {a:1}user = {a:2, b:1, __proto__:{ ...
CSRF CSRF (Cross-site request forgery,跨站请求伪造)也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任的网站。
简单的说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己以前认证过的站点并运行一些操作(如发邮件,发消息,甚至财产操作(如转账和购买商品))。因为浏览器之前认证过,所以被访问的站点会觉得这是真正的用户操作而去运行。
过程及原理本质原因是重要操作的所有参数都是可以被攻击者猜测到的。攻击者只有预测出URL的所有参数与参数值,才能成功地构造一个伪造的请求;反之,攻击者将无法攻击成功。
而且需要受害者满足两个条件:
登录受信任站点A,并在本地生成Cookie。
在不登出A的情况下,访问危急站点B。
步骤:
客户端通过账户密码登录访问网站A。
网站A验证客户端的账号密码,成功则生成一个sessionID,并返回给客户端存储在 ...
XXEXXE 是XML External Entity(XML外部实体注入)的英文缩写,是一种发生于XML解析时的漏洞,由于解析引擎并未对XML外部实体进行限制,导致攻击者可以通过注入恶意代码到XML中,致使服务器加载恶意的外部实体导致未授权的数据访问、服务拒绝攻击甚至执行远程代码等有危害的操作。XXE漏洞的危害主要有两个:文件读取、SSRF,在PHP环境且开启PECL上的Expect扩展可导致命令执行,故命令执行条件较为苛刻。
基础知识XMLXML是一种类似于HTML (超文本标记语言)的可扩展标记语言,是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML 文档结构包括XML声明、DTD 文档类型定义(可选)、文档元素。
XML语法规则
所有XMI元素必须有一个闭合标签
XMI必须正确嵌套
XML属性值必须加引号
实体引用
在XMI中,空格会被保留
XMI标签对大小写敏感
DTDDTD是文档类型定义的缩写,用来为XML文档定义语义约束。可以嵌入在XML文档中(内部声明),也可以独立的放在另外一个单独的文 ...
SSRF SSRF (Server Side Request Forgery:服务器端请求伪造)是一种由攻击者构造特殊形成的请求,并且由指定服务器端发起恶意请求的一个安全漏洞。由于业务运行的服务器处于内外网边界, 并且可通过利用当前的这台服务器,根据所在的网络,访问到与外部网络隔离的内网应用,所以一般情况下,SSRF漏洞的攻击目标是攻击者无法直接访问的内网系统。 SSRF漏洞的形成大多是由于服务端提供了,从其他服务器应用获取数据的功能而没有对目标地址做过滤和限制。例如,黑客操控服务端从指定URL地址获取网页文本内容,加载指定地址的图片,下载等, 利用的就是服务端请求伪造,SSRF漏洞可以利用存在缺陷的WEB应用作为代理攻击远程和本地的服务器。
漏洞危害
对内网进行端口扫描和主机存活探测等敏感信息收集
攻击内外网其他存在漏洞的web应用(主要是Get参数攻击)
造成内外网DDOS攻击
通过file://读取本地任意文件,通过dict协议获取服务器端服务,通过http协议探测web应用等等。
漏洞出现点转码服务通过URL地址把原地址的网页内容调优使其适合手机屏 ...
漏洞原理如flask代码不严谨很危险,可能造成任意文件读取和RCE远程控制后台系统。
漏洞成因:渲染模板时,没有严格控制对用户的输入。
flask是基于python开发的一种web服务器,那么也就意味着如果用户可以和flask进行交互的话,就可以执行python的代码,比如eval,system,file等等之类的函数。
12345678910111213141516171819from importlib.resources import contentsimport timefrom flask import Flask,request,render_template_stringapp = Flask(__name__)@app.route('/', methods = ['GET'])def index(): str = request.args.get('ben') html str= ''' <html> <head>&l ...
序列化和反序列化序列化:序列化是指将数据结构或对象转换为一串字节 流的过程。使其可以在存储、传输或缓存时进行持久化。
什么是反序列化:反序列化是指将序列化后的数据进行解码和还原,恢复为原始的数据结构或对象的过程。反序列化是序列化的逆过程。
在PHP中,使用serialize()函数可以将数据结构或对象进行序列化,得到一个表示序列化后数据的字符串。通过unserialize() 函数可以将这个字符串进行反序列化,将其还原为原始的数据。
序列化例如,将一个简单的对象序列化:
12345678910111213141516<?php class people{ public $name= 'lili'; private $age=18; protected $height= '156cm'; public function speak(){ echo 'hello' ; } } ...
网络安全
未读越权漏洞越权漏洞是当前Web系统中常常存在的安全漏洞,该漏洞由于Web系统对用户的操作权限没有进行验证,或者验证并不充分而导致。
越权漏洞根据越权对象的不同可以分为水平越权和垂直越权。在一个站点内,常常具有普通用户和管理员用户。(有的站点还可能具有其他等级的用户)所谓水平越权,就是指同一等级的用户之间,可以冒充对方身份而进行一些操作;所谓垂直越权,就是指普通用户可以执行管理员用户的一些操作。除了水平越权和垂直越权外,还有一种类似的漏洞,即未授权访问,即在系统中有时我们可以想办法替换认证信息,达到访问其没有权限访问信息的漏洞。另外,还有上下文越权,上下文越权就是说在某个程序需要执行n个步骤,而你却可以跳过其中某个步骤,直接到最后的步骤。
越权漏洞点 从Web系统功能点上来考虑越权漏洞,越权漏洞常常在一些含有“身份”的操作中出现,例如转账、发送消息、查看/修改个人信息、下单购物等等。如果我们要挖掘越权漏洞,那么可以着重关注一下这些功能点。如果Web系统没有对用户的身份进行验证的话,那么就有可能造成越权漏洞。
基础参数通过修改一下参数就可以产生水平越权,例如查看用户信息页面 ...
XSS 跨站脚本攻击(Cross Site Scripting), 为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
原理
攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。
诱使受害者打开受到攻击的服务器URL。
受害者在Web浏览器中打开URL,恶意脚本执行。
XSS的攻击方式反射型XSS 非持久化,攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。一般是后端代码进行处理。
存储型XSS 持久化,代码是存储在服务器数据库中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS非常危险,容易造成蠕虫,大量盗窃cookie(虽然还有种DOM型XS ...
文件上传文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
绕过方式前端绕过通过浏览器插件来删除检查后援js代码,然后上传webshell。上传文件时把后缀名改成png或者其他合法的格式,上传时在通过抓包工具把后缀名改回来。更改Content-Tybe为image/jpeg(上传php或者其他木马时,有时候更该这个值可直接上传成功)。
文件扩展名绕过:
1234Php除了可以解析php后缀 还可以解析php2,php3,php4 ,phtmlAsp可解析 asa,cer,cdxAspx可解析 ashx,asmx,ascxJsp可解析jspx、jspf
黑名单限制绕过直接在后面使用php3 、phptml等进行黑名单绕过。
大小写绕过:windows服务器不区分大小写,linux服务器才取分大小写,所以 ...
原理任意漏洞下载是因为一般的网站提供了下载文件功能,但是在获得文件到下载文件的时候并没有进行一些过滤,这就导致了漏洞的产生。如网站下载地址类似 https://www.test.com/upload/xiazai.php?file=/wenjian/123.doc格式网站有可能存在,因为文件名是作为一个参数传入的。如果下载地址是 http://www.test.com/upload/wenjian/123.doc格式,不带参数传入文件名的则不存在文件下载漏洞。
常见文件路径1234567891011121314151617181920212223242526272829303132333435363738Windows: C:\boot.ini //查看系统版本 C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件 C:\Windows\repair\sam //存储系统初次安装的密码 C:\Program Files\mysql\my.ini //Mysql配置 C:\Program Files\mysql\ ...