自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 防止暴力破解

你可以使用awk去查讯ssh的登陆日志,查看它登陆失败的次数,设定一个值如果超过这个值就将这个IP禁掉。你可以使用shell+iptables即可实现对暴力破解的防御。我们不用暴力破解可以尝试一下密码喷撒用一个密码去测试多个用户名。

2024-09-08 23:30:59 68

原创 记一次学习--内网穿透

设置代理,这里的代理就是你在proxychain中设置的代理,你选的那个版本就要那个版本,刚刚在代理中选的是sock 4a所以这里就选4a。现在创建的代理是kali的1080端口,这个就相当于我们只要连接本地的1080端口就连接到了msf上面,然后就可以走到116的那个网段。首先查看网站,这里是thinkphp5.0的版本,说不定会有对应的漏洞。添加路由,这里由于现在的会话连接的是ubuntu,所以现在是可以通过会话建立到达116的路由的。r=admin,进入了cms的后台,在这里可以尝试以下密码爆破。

2024-09-08 21:47:50 788

原创 记一次学习--HIDS-phpwebshell绕过

不断学习,保持谦虚。

2024-09-03 10:28:53 1383

原创 记一次学习--webshell绕过(利用清洗函数)

对于shuffle函数来说,他的随机是伪随机,我们可以通过对其代码的分析然后预测数组中元素打乱的规律。对于sheuffle来说底层调用的是mt_rand来生成随机值。然后对于mt_rand来说当他的种子定好他的随机值就不会发生改变了。通过 shuffle 函数打乱只有两个元素的数组。这里抓包可以正常执行。

2024-09-01 21:45:15 235

原创 记录一些信息收集方法

搜索引擎fofa或者钟馗之眼等东西,然后这个里面的东西可以通过http请求头都可以看见,看一下他的返回值,可以通过robots.txt来看框架等等,不过估计用不到,因为这是以前的习惯。onefor.all指纹收集工具.(工具已经集成了上面说的一些方法)指纹收集网上有一些工具可以去用。tidefinger工具。百度谷歌关键词搜索(已经很久远了,基本上起不到作用)子域名挖掘机也是工具这个工具有一个很大的字典也不错。firefox也有一款指纹识别工具。企查查,天眼查查内部资产。

2024-09-01 00:59:49 189

原创 记一次学习--webshell防守理念

source 检测输入源,输入源大部分是用户输入。一些像$_GET或者$_POST等污点追踪一直会追,只有当你程序报错或者经过了一个清洗函数污点追踪才不会追。

2024-09-01 00:58:58 343

原创 记一次学习--webshell绕过(动态检测)

不断学习,不断进步快就是慢,慢就是快。审视自身。

2024-09-01 00:47:46 892

原创 记一次学习--webshell绕过

这道题目要读取flag,且当前目录下的文件数目要大于三才可以读取,然后这里的思路就是创建文件。上面题目,下面的call_user_func有一个可变长参数,这个可变长参数是$parameters然后上面有一个if语句判断$parameters是否有action,如果有就删除掉,然后再action参数传system,在parameters传你要执行的命令。我们这里也要想办法利用A中的f,这个就要利用ob_start,ob_start调用例子,这里和call_user_func调用差不多。

2024-08-31 21:48:53 969

原创 Docker php文件本地包含--pearcmd.php利用

docker包含日志文件,基本不可能,就以我自身的一个项目来说,在尝试包含日志文件时发现,客户将他的日志文件从定向到了设备文件,而php没有包含设备文件的权限然后我们就想如何包含,发现客户的文件目录里有一个phpinfo(),然后可以使用phpinfo实现临时文件的包含。但是这个包含的成功率经测试不是很高。所以我们这里再说一个新招。

2024-08-30 16:23:36 1174

原创 文件包含之session.upload_progress的使用

一次项目经历复现。

2024-08-29 23:04:27 639

原创 windows上传文件精准包含技巧

需要构造这里,构造这里的原因是要匹配临时文件,这里构造这个<<<呢,在Windows中PHP在读取Windows文件时,会使用到FindFirstFileExW这个Win32 API来查找文件,而这个API是支持使用通配符的即 <,匹配0个以上的字符 DOS_QM:即>,匹配1个字符 DOS_DOT:即",匹配点号,下面就是匹配<<<<匹配的最终结果就是临时文件。你上传文件的时候会生成临时文件,我们需要抓取这个临时文件,首先抓包,然后构造payload。文件包含,代码成功执行同事文件成功上传。

2024-08-29 12:58:24 374

原创 文件包含奇技淫巧

未完成一个项目中遇到的漏洞。

2024-08-29 09:15:29 187

原创 内网渗透小知识

然后再里面添加内网端口。在设置浏览器的代理,就可以通过内网访问内网资源。然后如果在内网扫描不了IP的话使用上面的代理工具也可以扫描。然后在浏览器中设置,设置socks后可以访问很多。下载proxychains这个工具。如果映射http的话只可以访问一个。在下面这里进行代理配置。

2024-08-28 21:56:45 157

原创 文件包含所用协议实战

这里是要想办法让程序走到if条件语句里面,也就是要读一个a变量并且使用file_get_contents读这个a然后a里面的内容是I want flag。这里过滤了input和filter和data,但是这里有一个上传文件,并且可以上传zip文件。这里过滤了很多协议,但是没有过滤php://filter所以直接读,由于读出来的是base64编码所以要解码。然后读取文件,这里系统是windows使用type来进行读取,成功读出flag。这里过滤了一些协议,但是没有过滤php://input这样的一个协议。

2024-08-28 16:13:50 599

原创 ssrf做题随记--任务计划的写入、csrf简单知识

如何防御:在from表单下添加一个字段:token值,这个东西攻击者是伪造不了的,服务器在你第一次登陆的时候,会生成一个token,然后将这个token返回给你,然后下次你再登陆的时候携带这个token值去登陆,然后服务器会检测token的合法性。linux里面的cron中command执行的shell环境是/bin/sh,ubuntu下的/bin/sh文件是一个软连接文件,然后再ubuntu中这个软连接文件指向了dash,而我们的反弹计划反弹的是bash。centos写入任务计划是很正常的,该咋写咋写。

2024-08-28 10:12:07 482

原创 bypass disable_function绕过

在php-fpm下的php.ini配置文件中有这个么个字段disable_function,在这个字段中disable_function里面你想要禁用那个命令就把命令写在这里,上面写了system,system就被禁用了,修改完配置文件不要忘记重启服务test.php的文件内容访问test.php的没有反应,这就是system被禁止掉了,已经测试过了在项目中各种函数都可能被禁用(会有一部分项目需要的函数被放通),所以当我们拿webshell缺无法执行命令,下面我们来看一下如何绕过。

2024-08-27 15:41:11 1223

原创 ssrf漏洞之php-fpm未授权访问漏洞利用

我们先看一下web.php的请求头,发现是nginx,然后这还是一个php页面。上面是合理的猜测,当然你也可以尝试用nmap扫描一下,扫出来没有不一定真没有,有可能人家的9000端口绑定在127.0.0.1上,这样你扫描他的IP是扫不出来的。下面来看一下payload解码后的内容,就是我们php-fpm未授权访问的两个字段。首先代码中对url的输入没有一点过滤,很明显的一个ssrf漏洞。这里我们环境是有9000端口的,如果没有的可以安装一下。在你的网站目录下创建一个新的php文件,内容如下。

2024-08-26 14:52:27 270

原创 一道ssrf题目--Web-ssrfme

我们可以传webshell到服务器上,但是这个需要我们知道物理路径,这道题目物理路径我们是不知道,需要我们猜测,我们尝试一些默认路径/var/www/html、 /usr/shart/nginx/html,发现都不行。现在我们怀疑是不是权限不够的原因,权限不够那咋个办,我们再找一下在html下有没有别的文件权限是够的。我们接着尝试,我们现在发现服务器的IP是172.21.0.3这个端口,这是在内网当中,在内网当中服务器可能会很多,并且服务器IP可能是连续的,我们可以尝试一下有没有别的服务器供我们入侵。

2024-08-26 00:04:44 1703

原创 一道xss题目--intigriti-0422-XSS-Challenge-Write-up

当然后也有别的merge,如下图,这里有qs.settings这个属性然后就可以尝试控制decSettings,但是我们的注入点在那个上面呢,不急接着往下看。我们尝试构造一个原型对象原型对象有一个属性名为1的属性,然后temp[1]又是空,我们访问1的时候就可以取出1里面的内容。绕过的方法就看root了,root下面有很多方法,我们想办法找到decSetting.root上面的元素,如下面。在这里你输入什么接的就是什么,比如输入的是config然后接的就是qs.config,所以我们用户可控的点在这里。

2024-08-25 01:44:39 663

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

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

2024-08-23 23:46:19 470

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

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

2024-08-20 21:14:58 780

原创 xss靶场 pwnfunction WW3

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

2024-08-18 23:58:24 262

原创 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 378

原创 portswigger的Exploiting DOM clobbering to enable XSS

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

2024-08-18 00:51:15 1491

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

上面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 369

原创 xss.pwnfunction-Easy

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

2024-08-17 19:25:26 697

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

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

2024-08-16 23:08:32 398

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

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

2024-08-16 21:30:52 1136

原创 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 496

原创 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 259

原创 无参数读文件

在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 677

原创 记一次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 866

原创 无字母绕过webshell

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

2024-08-13 15:12:38 706

原创 EVAL长度突破限制

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

2024-08-12 04:49:46 403

原创 记录一个绕过技巧

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

2024-08-12 03:23:53 440

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

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

2024-08-12 02:08:31 826

原创 thinkphp漏洞之sql漏洞

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

2024-08-11 21:50:57 577

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

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

2024-08-10 21:14:03 1128

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

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

2024-08-09 23:36:21 639

原创 PHP利用PCRE回溯次数

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

2024-08-09 01:28:09 462

web-ssrfme环境

使用docker-compose安装

2024-08-25

空空如也

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

TA关注的人

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