自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(191)
  • 收藏
  • 关注

原创 JavaScript另外一道原型链污染例题

然后我们尝试传入一个数值(传入如下面代码),触发clone然后触发merge,尝试进行一个原型链污染,但是测试结果是无法进行污染,admin这个对象还是未定义,原因是在我们在创建字典的时候已经作为__proto__给test赋值了,所以test.__proto__中是有admin属性了。那么我们如何达到我们的目的,那就想办法让__proto__被认为是一个键名,我们可以使用下面代码,我们在下面子代码中使用JSON.parse解析代码,这样在下面代码中__proto__就会被认为是一个键名。

2024-08-23 23:46:19 334

原创 一道简单的JavaScript原型链污染例题:hackit 2018

任何对象都有prototype属性,这个属性就是实例对象的原型对象,然后原型对象上如果添加一个属性,所有实例都会共享这个属性。比如object的tostring方法。这个原型对象的属性绑定在构造函数上,且当实例对象有某个属性或方法就不会再去原型对象找这个方法或属性。然后__proto__可以指向当前对象的原型对象。我们对__proto__赋值就可以修改原型对象的值。

2024-08-20 21:14:58 694

原创 xss靶场 pwnfunction WW3

然后需要我们进入到刚刚分析的漏洞点,所以我们需要进入下图所示,但是只有当img图片加载成功才可以,所以我们需要再img传一个真值,且img标签中属性的执行是异步的所以在src加载的过程中,下面的text也会加载,然后才是onload加载,这样payload也加载到了memeGen里面。上面的例子就成了这样,其中script就逃逸出来了,然后中间的两个标签是替换后的标签,然后最上面的标签是innerHTML整出来的标签,然后第一个和第三个标签闭合了。过滤了以后再寻找新的注入点,看一下这里,漏洞点就在这里。

2024-08-18 23:58:24 254

原创 Clobbering DOM attributes to bypass HTML filters

然后我们到这里看,我们构造<form><input id=attributes>,然后我们绕过以后form的attributes属性就是<input id=attributes>这个然后如果这个没有length属性就会跳出下面循环,然后就不删除了。然后经过上面的分析我们就要找一个标签没有length属性,让他跳出上面的for循环,所以就使用我们这个喽,然后在form里面构造我们的注入语句。使用这个元素<from><input>,我们就逃过了,然后我们构造的这个标签又没有父类,又绕过了。

2024-08-18 17:28:42 357

原创 portswigger的Exploiting DOM clobbering to enable XSS

我们开始是没有头像的所以我们开始会走到window.defaultAvatar上,所以只要我们想办法构造一个 defaultAvatar.avatar就可以进行XSS了。所以下面构造的时候1后面要加双引号但是加双引号的时候会出现问题,无法闭合,我们尝试是用HTML实体编码。然后是用一个小技巧,是用一个不存在的伪协议,然后这个伪协议不存在,后面"就不会被编码。DOM破坏肯定是要看js的我们打开源码查看一下,发现了如下图的代码。然后我们借助一个js特性,看下面两张图id相同时不同的值的取法。

2024-08-18 00:51:15 1484

原创 一种错误的代码编写方式下的绕过,和修改后代码的绕过

上面payload中form有两个属性用来触发XSS,然后在这个道题中我们是用el.attrlbutes取值的时候,发现form下面有两个<input id=attribute>标签,然后就把这两个标签取出来了,然后就饶过了form用来xss注入的两个标签完成了注入,form的attribute就是两个input标签。[a,b,c]当删除a元素后b元素往前推一个成这个样子了[b,c],但是要删除的还是1这个位置的元素,然后就把c删除了,但是b还是保留了下来,所以我们只需要在数组双数的位置进行注入就可以了。

2024-08-17 21:34:41 353

原创 xss.pwnfunction-Easy

然后要获取prototype携带的toString方法,且不能是Object.prototype下的字符串方法,因为后者返回的是一个元素,我们需要的是可控的字符串。然后你是用上面的两个属性弹窗一个属性就会以字符串的形式展示href里面的值,如果你用的是从object继承来的toString,就会返回一个对象,例子如下。我们看到innerHTML可以想到使用img标签,然后看到过滤了括号我们可以尝试使用location,然后使用%25编码%绕过()它匹配字符串 "ALERT(1337)"。

2024-08-17 19:25:26 684

原创 RCE的另外一些绕过练习

【代码】RCE的另外一些绕过练习。

2024-08-16 23:08:32 392

原创 php-fpm未授权访问漏洞

想要了解php-fpm就先要知道Fastcgi,Fastcgi其实是一个通信协议,和HTTP协议一样,都是进行数据交换的一个通道。fastcgi协议则是服务器中间件和某个语言后端进行数据交换的协议。Fastcgi协议由多个record组成,record也有header和body一说,服务器中间件将这二者按照fastcgi的规则封装好发送给语言后端,语言后端解码以后拿到具体数据,进行指定操作,并将结果再按照该协议封装好后返回给服务器中间件。

2024-08-16 21:30:52 1104

原创 RCE编码绕过--php://filter妙用

我们可以尝试使用php://filter/write=convert.base64-decode/resource=abc.php,在写入文件的时候对文件进行解码,然后我们后面POST传参的时候可以传一个base64编码,然后php://file解码的时候会将前面的解码成别的字符,然后将你输入的base64编码解码成原来的字符。抓包提交参数,所提交的txt前面需要加一个a,这个的原因是base是4位一解码,txt前面加a是用来给

2024-08-16 16:29:33 485

原创 preg_replace \e模式下代码执行

preg_replace 使用了 /e 模式,导致了代码可以被执行,php7.3 版本之前 preg_replace使用/E模式,都会导致代码执行,preg_replace 在匹配到正则符号后就会被替换字符串,这时 上面例子中'strtolower("\\1")'代码会被执行。php中有一个可变变量的概念,在PHP中被双引号包裹的字符串可以当作变量解析,也就是进行代码执行,下面执行的函数中包含的是双引号,所以可以解析变量。'strtolower("\\1")'里面的\\1的意思就是将\1转义后的显示,

2024-08-16 07:35:04 254

原创 无参数读文件

在apache2中我们可以使用getallheaders(),getallheaders()是apache_request_headers() 的别名函数,getallheaders()函数的主要作用是获取HTTP请求的所有头部信息,且这个只可以在Apache环境下使用。我们可以使用array_rand(array_flip()),array_flip()是交换数组的键和值,array_rand()是随机返回一个数组,然后多点几下就可以获取了。然后可以使用show_source获取flag。

2024-08-15 23:59:29 670

原创 记一次docker报错 Failed to start LSB: Create lightweight, portable, self-sufficient containers..

如果无法访问就挂一个代理,ubuntu有个工具proxychains,下载proxychains后,在这里/etc/proxychains.conf配置代理,将你的代理添加到最后一行。今天安装docker后安装了一下docker-compose,然后发现docker无法启动了查看一下报错日志。使用代理执行这个刚刚下载下来的东西,因为在执行的时候会访问一些网站需要代理。然后如果想要使用代理的话就在命令前加上proxychains,如下。然后docker就可以正常使用了。经过查询按以下方法解决。

2024-08-14 22:07:04 826

原创 无字母绕过webshell

但是抓取临时文件很难因为你上传上去后,没有接收文件,系统就会很快的删除掉你的文件,然后想要接收文件还需要知道文件名字,但是文件名是一个随机字符没有用办法接到。··反引号可以在eval中命令执行在这里的代码就是上面说的匹配上文件,再进行命令执行,然后由于这个是get传参所以需要需要进行url编码,然后就执行成功了。如果可以访问并执行临时文件,就可以进行命令执行了,我们在要上传的文件上写入你要执行的命令,如下图所示。在PHP7中我们可以使用('phpinfo')(),这样的代码执行,如下图。

2024-08-13 15:12:38 697

原创 EVAL长度突破限制

往目录下写文件,然后将一串base64编码追加进去,为啥要用base64是因为一些特殊字符在file_get_content追加不了的。首先输入eval,限制param不能超过17位然后,这个输入里面不能包含eval和assert。追加后的值,这个base64编码解码后的值是

2024-08-12 04:49:46 397

原创 记录一个绕过技巧

【代码】记录一个绕过技巧。

2024-08-12 03:23:53 437

原创 贷齐乐系统sql注入漏洞

然后在这里取值的时候.和_会区分开,然后我们可以在第一个i_d写我们的payload,在i.d写正常数据用来绕过waf。可以使用使用php小特性和全局污染绕过,在这里的时候会将.转换成下划线,然后桡骨第一个waf。这里由于等号被过滤乐所以使用like,然后查表名的时候由于'被过滤所以使用了16进制编码。首先php在遇到两个相同名字参数时,php是取后一个的,如下图最终i_d的值为1。代码先走这里将输入的数据进行过滤。然后再继续往下走,再进行一个查询。然后继续往下,用=进行分割。

2024-08-12 02:08:31 816

原创 thinkphp漏洞之sql漏洞

上面下载相应版本(下图中展示的5.0.15版本),下载think文件,下载framework文件,然后将framework文件修改名字为thinkphp,然后将修改后的framework放在think文件下,然后将think放在网站目录下,然后就可以打开了。parseArrayData拼接的值,这里是将你的注入语句用^与后面的('0(1)')进行拼接,或者使用|拼接也可以,这样的目的是为了mysql语法正确,这里对于后面的语句来说不重要,因为走到update的时候已经报错了。然后就会执行,报错出现注入。

2024-08-11 21:50:57 567

原创 cmseasy漏洞之未授权访问漏洞和sql注入漏洞

下图中到码对args参数首先经过了base64解码,然后经过了一个框架中所带xxtea_decrypt方法的解密,在之后到$user参数时又经过了一次反序列化,所以我们构造的payload就需要将上述过程反着来一遍这样当参数传入进来的时候才可以经过一列加解密转化为我们正常的注入语句。将其解压部署在服务器上后,访问\uploads\install这个路径,然后页面就会显示让你安装,然后按照页面提示修改php版本和mysql版本,然后设置你的数据库参数,最后设置你管理员账号密码就可以安装了。

2024-08-10 21:14:03 1086

原创 thinkphp漏洞之sql注入漏洞-builder处漏洞

这个代码中上面第一个红框将data数组中遍历,然后val中就是data的值,然后看第二个红框三个不同的参数对应不同的处理方式,这三个处理方式都可以进行注入,但是insert方法中会对exp进行过滤如果数据中存在 exp ,则会被替换成 exp空格,所以三种处理方式中选项等于exp的无法使用。这里是接收一个get传参,然后username/a的意思是有username传参username的值就是传参的值没有的话就是默认是a。看一下他的insert这个函数,数据传输是自己写的值。方法来分析并处理数据。

2024-08-09 23:36:21 599

原创 PHP利用PCRE回溯次数

可以直接利用php弱语言的特性,strpos只能检测数组,你给他提交一个数组,然后 if(strpos($greeting,'Merry Christmas')!对于一串正则表达式来说它匹配了一系列的字符串后自身的正则还没有用完,这个时候就会触发回溯机制,超过回溯次数正则匹配就失效。当正则匹配道.*的时候整个字符串就都匹配到了,.*匹配完之后正则的匹配不会停止而是回溯接着完成[注意这个回溯对php版本是有要求的比如7.3就不行,因为7.3回溯失败返回的是’1‘

2024-08-09 01:28:09 457

原创 记一次学习--[网鼎杯 2018]Comment二次注入

看源码开关语句的结果等于write的结果,这里是没有办法注入的,这里的原因是应为categriy、title、content都被addslashes过滤函数保护了,当你提交了上面三个参数,他会将三个参数提交道数据库里面。sql变量中的category是没有过滤的,虽然他在插入数据库的时候是进行了过滤的,但是你要是插入了'的话插入的数据是被转义了,但是入库的时候‘是不会被转义的,也就是进入数据库后你的转义字符会消失。前面的'是为了闭合category的单引号,/*是为了注释掉下面的content。

2024-08-08 16:10:35 858

原创 sqli-labs1-24通关教程

二十四关是一个二次注入,他在username和password输入的时候是过率的,但是它在后面的操作是没有过滤的,且过滤并不是把代码去掉了,代码还是原来的代码不过是被转义了,但是你再取出来的话就又可以了。使用ascii喝substr尝试注入 ,substr将所获得的字符截取下来,ascii将截取下来的字母转化为ascii码。只要修改查询的数据就可以爆出不同的数据包括数据列表名等等,下面展示的是爆出password的结果。第二十四管寻找注入点,查看源代码,发现修改密码处没有被过滤,可以在此注入。

2024-08-06 07:39:56 708

原创 记一次学习过程(redis的编译安装,以及有关redis漏洞的学习,包括redis未授权写入ssh公钥、redis写入木马、redis主从复制漏洞linux版)同时记录几个威胁分析平台

这个东西的流程是你发现了一个网站,然后你扫描对方端口,发现6379端口开着,而且通过一些其他漏洞可以登陆上redis后,你在redis中执行操作获取webshell权限。测试公私钥的时候不要在你的攻击机子和redis的服务器的机子上测试,或者你把测试完成的文件在服务器上删掉,删掉之前记得保存。这个是你冒充redis的主服务器,让redis从服务器下载木马(这里使用工具)这是你已经连接上了redis,你在redis中操作,在redis中写入公钥。(下图是测试出现问题的情况,没出现问题的情况忘记截图了)

2024-08-03 22:41:18 895

原创 记录一次学习过程(msf、cs的使用、横向渗透等等)

在内网中攻击不出王的机子,比如说现在攻击者入侵了一个公司的DMZ,公司的DMZ上有两张网卡一张对外网,一张对内网,内网不出网,这样你即便将木马发送给了内网机器内网机器也无法反弹。这种情况就可以使用这个代理,在DMZ上设置了代理后,攻击者直接登陆DMZ,DMZ是可以访问内网的,然后攻击这个就可以访问内网了。切换的时候shell容易掉。TCP和SMB可以用于内网横向渗透,内网有两台机器,两台机器账号密码相同,就可以用这个直接上线,就相当于SMB是一个共享服务,机器通过SMB通道将木马共享。

2024-08-03 12:29:41 835

原创 记一些零碎的只是点和一些安全工具的使用(这里建议将漏洞原理搞清楚,然后可以尝试手动和使用工具)

现在很多框架是通过.jar服务启动的httpweb,无法使用普通木马,没办法执行,所以我们通过在内存里注入木马也就是让目标主机运行的过程中在内存里放一段特殊的payload,我们可以通过这段payload可以命令执行。shiro是通过jar包启服务,它完全没有通过http服务去启动,它都是集成到一个网站里面使用,所以我们一般是通过一些请求包去发现它的。这个东西也不是很好找到,清理的话比较简单,重启服务,通过什么服务启动就重启什么服务,或者重启服务器,重启服务器后内存里面的东西都没有了,所以内存马也不见了。

2024-08-01 22:58:43 1008

原创 记录一次环境的安装

首先在安装的时候,有一个dockerfile文件,将dockerfile中的内容拉取下来。但是报如下错误经过查询是这个源过期了。

2024-07-31 21:53:37 783

原创 数据传输安全--SSL VPN

session ticket会话票据,这个东西用于会话复用这个里面记录了整个身份认证的信息,这个在以后客户端还想找的话,可以省略身份认证,但是密钥还需要重新协商。这个东西在第一个client hello包中是有这个字段的,如下图,但是下图中由于是第一次建立SSL通道所以没有携带这个字段的值,如果携带了就可以不用身份认证了。

2024-07-26 22:19:02 632

原创 数据传输安全--IPSEC

默认使用IP地址作为身份标识(因为身份验证是在第五六个数据包中,但是我们在前面的几个数据包过程都需要提取预共享密钥计算,要是等身份标识的话等不下去了,所以只能看IP地址了,然后在第五六个数据包的时候再进行身份认证确认,所以这个东西也很怕NAT),这个身份标识和身份认证是不一样的,在IPSec中多使用预共享密钥进行身份认证,然后这个预共享密钥可能一个人和另外好几个人都有。注意:野蛮模式前两个数据包中的参数用来协商密钥信息,则第三个数据包可以进行加密传输,因为,身份信息是通过明文传递的,所以,安全性较低。

2024-07-23 00:04:12 996

原创 数据安全传输--加密算法

然后用Bob的公钥将这个对称密钥进行加密,加密后的密钥叫做密钥信封,然后Alice将密钥信封和加密信息传递给Bob。然后Bob用自己私钥解开密钥信封,然后得到了对称加密的密钥,然使用对称加密的密钥解开加密信息,然后将其中的原始信息进行hash然后和数字证书的hash进行比对,但是数字证书是被Alice的私钥进行加密的,所以需要用Alice的证书的公钥解开,所以就要用CA机构的公钥解开证书获取Alice的公钥,再用公钥解开数字签名获取其的hash,然后再将刚刚原始信息的hash和这个hash比对。

2024-07-22 00:05:01 827

原创 数据传输安全--VPN

注:不要把GRE当作VPN技术,GRE只是一种封装技术,我们是利用GRE技术制造处一种GREVPN的技术,IPSec也不是一种VPN技术,他只是一种协议簇,他只是为了保证我们的传输安全的。这时候就需要一个隧道协议头,这意思就像你是一个中国人去外国开车这个样子是不行的,因为你没有外国的驾照,但是你可以找一个有外国驾照的人去拉你。这个层次划分指的是VPN技术所保护的层次,但是这个VPN保护在没有加密的情况下并不意味着安全。信网络,只不过,这个专线网络是逻辑上的,而不是物理上的,所以叫做虚拟专用网。

2024-07-21 15:56:36 1195

原创 防火墙--内容安全

内容安全是指对互联网上的内容进行监测、筛选和管理,以确保用户在浏览、使用互联网内容时的安全和合法性。各个厂商在进行内容安全的检测、分析和处理的过程被称为引擎。下面以华为IAE引擎来对内容安全进行学习ID:区分不同的签名对象:服务器,客户端。一般我们将发起连接的设备角色认定为客户端,响应连接并提供服务的角色认定为服务器。严重性:该行为一旦爆发之后,对我们网络系统的影响程度的评级协议/应用程序:这种攻击所承载的协议或者应用。

2024-07-20 22:27:15 1459 2

原创 HTTP状态码

101 Switching Protocols:服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。HTTP状态码是指在客户端向服务器发送请求后,服务器返回的响应状态码,用于表示服务器对请求的处理结果。201 Created:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立。400 Bad Request:请求错误,服务器不理解请求的语法。4xx(客户端错误):表示客户端发生错误,例如请求包含语法错误或无法完成请求。200 OK:请求成功。

2024-07-18 08:53:02 234

原创 实验-ENSP实现双机热备和带宽管理

这是一个实验

2024-07-17 23:08:15 578

原创 防火墙--带宽管理

首先流量在打了标记后进入入接口,并且带宽要符合接口带宽,然后相应的流量匹配到相应的带宽策略,然后去走带宽通道,之后走出接口,如果没有匹配到的流量,会匹配到默认的那条带宽策略,直接去往出接口。可以理解为是带宽策略中执行限流动作后的具体实施,也可以理解为是在真实的物理带宽中,开辟了一些虚拟的流量通道,通过将流量引入这些虚拟的带宽通道中,来限。所有带宽策略调用这个通道,都按照通道中的设定执行,每个策略只要调用这个带宽通道,带每个策略的带宽加起来等于带宽通道设置的带宽。,即将超出限制的数据包缓存之后发送,而。

2024-07-17 23:04:39 566

原创 防火墙--双机热备

当有接口坏掉了,接口成了过度状态,VGMP就会发现自己管理的VRRP组出现故障,VGMP就会降低自己的优先级,VGMP默认优先级(这里优先级和VRRP中不同)主设备组为65001,备份设备组65000。B和D也无法建立邻居关系,然后如果主设备坏了,是不是就要切换到备用设备上,然后B和D要重新建立邻居关系。再创建一个VGMP组,两台设备互为两个VGMP组的主设备,然后这种情况可能会两条链路都会走,如下图上去的时候走1这边,下去的时候走二这边,所以是不是两台设备需要快速同步状态信息,不然业务就会收到影响。

2024-07-17 00:11:15 1088

原创 实验-ENSP实现NAT和智能选路

这时一个实验

2024-07-14 09:23:27 532

原创 防火墙--NAT和智能选路的一些知识

如果是同一网段的公网地址走的是直连路由,再进行转发的时候可以类比网关转用ARP发数据包给别人,但是网关是要不到MAC的,所以就没有办法转发,所以就没有转发就不会成环。你访问的节点到底是电信还是移动,看人家DNS服务器给你的是哪个,比如说你去访问百度,然后你的DNS服器务是电信DNS的就给你的是百度在电信布置的节点,如果是移动的就给你移动的节点,DNS透明代理就是改变这个情况。根据访问的节点所在的运营商选择对应的运营商线路,当你想要访问电信的节点的时候要走电信的链路显然更近一些,走移动的链路明显就走远了。

2024-07-13 22:53:00 1194

原创 CVE-2024-23692: Rejetto HTTP File Server 2.3m Unauthenticated RCE漏洞复现

Rejetto是一个流行的开源软件项目,主要是一个轻量级的HTTP文件服务器软件。它最著名的应用是HFS(HTTP File Server),这是一个免费的Web服务器软件,专门用于共享和传输文件。HFS(HTTP File Server)允许用户通过浏览器访问和下载存储在计算机上的文件。它非常轻量级,易于安装和配置,适合个人用户或小型团队在局域网内共享文件。HFS具有简洁的界面和基本的文件管理功能,可以通过简单的设置实现文件夹的共享和访问控制。

2024-07-11 17:45:33 415

原创 实验-ENSP实现防火墙区域策略与用户管理

实验-ENSP实现防火墙区域策略与用户管理

2024-07-11 04:51:55 1525

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除