- 博客(48)
- 收藏
- 关注
原创 Kali学习(ms17-010、ms08-067漏洞复现)
因为虚拟机有虚拟网卡,就像在windows系统里玩kali一样,他们的物理层公用一个设备-公用主机硬件,但在应用层上他们是相对独立的-互不干扰,可以同时使用。,通过一个公共的网关访问Internet,就像家里的路由器一样,多台设备连接上网,使用的是同一个外网IP。如果端口开放,就会进行完整的三次握手,成功建立链接,扫描结果中,STATE字段显示为 open。桥接就相当于,将创建的虚拟网卡,变成交换机,与主机的网卡连接,使kali可以上网。
2024-08-28 21:43:54
891
原创 web入门php特性web89—104(ctfshow)
if(intval($num,0)===4476){ base=0,所以会对num的格式进行检测。因为匹配的时候 先匹配换行符前面的,接着匹配换行符后面的,两个都是abc所以可以通过正则表达式。第一个参数 callback 是被调用的回调函数(一般为闭包函数),其余参数是回调函数的参数。
2024-08-17 16:14:28
651
原创 SQL注入万字详解,基于sqli-labs(手注+sqlmap)
SQL 是 Structured Query Language 的缩写,中文译为“结构化查询语言”。SQL 是用于访问和处理数据库的标准的计算机语言。SQL 指结构化查询语言SQL 使我们有能力访问数据库SQL 是一种 ANSI 的标准计算机语言Web应用程序对用户输入的数据校验处理不严或者根本没有校验,致使用户可以拼接执行SQL命令。可能导致数据泄露或数据破坏,缺乏可审计性,甚至导致完全接管主机。在SQL数据库中,每条语句是以;
2024-07-21 21:56:19
909
原创 phar反序列化及绕过
phar (PHP Archive) 是PHP里类似于Java中jar的一种打包文件。可以把多个php文件存放至同一个文件中,无需解压,PHP就可以进行访问并执行内部语句。一般使用 文件包含中的,phar://伪协议,读取.phar文件文件包含之——phar伪协议不管后缀是什么,都会当做压缩包来解压?file=phar://压缩包/内部文件e.g 将一句话木马(shell.php)压缩成压缩包形式(shell.zip),将压缩包后缀改为.jpg(shell.jpg)?
2024-06-21 17:44:48
1097
原创 pop链详细分析、构造(以[NISACTF 2022]babyserialize为例)
传入发现只有提示flag在根目录,可直接使用system("cat /flag");在所有类中找,发现huang调用了fun,但在Ilovetxw类里不存在参数 fun。找到eval()函数,可以利用参数txw4ever,调用系统函数system等实现。故在所有类中找,去找类似$a()的对象函数,发现$bb(),它对应的参数是su。2.实例化类Ilovetxw赋值给b,从中调用参数su传入NISA类。,由于fun属性为private,故直接在类里面修改。在所有类中找,发现nisa(),该类中不存在方法。
2024-06-18 19:56:49
1018
原创 [SWPUCTF 2022 新生赛]ez_1zpop(php反序列化之pop链构造)
如果$this->impo 已设置,并且 $this->md51 = $this->md52 的 MD5 哈希值,同时 $this->md51 和 $this->md52 值不相等。直接将 $a 赋值为 system ,即将 $this->lt 赋值为 system ,那么 $this->lly 就可以赋值任意命令执行RCE。因为flag在fllllllag.php文件里,所以要让fllllllag.php文件在x中,让x等于这个文件的序列化。将$this->lly赋值成cat /flag读取flag。
2024-06-12 22:19:46
819
原创 [GDOUCTF 2023]EZ WEB、[SWPUCTF 2021 新生赛]hardrce、[NISACTF 2022]babyupload
故当上传的文件名为 /flag 时,上传后通过uuid访问文件后,查询到文件名 /flag ,那么进行路径拼接时,uploads/ 将被删除,读取到的就是根目录下的 flag 文件。标准格式为xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx。上传一句话木马文件,使用bp抓包 修改文件名为 /flag 后发包,利用访问返回的文件路径 file/uuid即可读取 flag。再通过/file/uuid访问文件,通过查询数据库得到对应文件名,在文件名前拼接后读取uploads/路径下上传的文件。
2024-06-11 20:29:02
849
原创 [ZJCTF 2019]NiZhuanSiWei、[HUBUCTF 2022 新生赛]checkin、[SWPUCTF 2021 新生赛]pop
在 PHP 弱比较时会发生类型转换,若一端为布尔类型,另一端为其他类型,在转换时会将其他类型转换为布尔类型。在转换的时候,非 0 为 true ,0 为 false。第一层:需要构造pop链,w44m类里面的Getflag()函数可以用来读取flag,因此将它作为pop链的尾部。所以需要给$w00m赋一个w44m类,然后再给$w22m赋一个Getflag(),就能成功调用该函数。第二层:检查反序列化后的用户名和密码时使用了==若比较,故可将数组中的值全部设置为布尔值 true。(不是很会这个题,多学习)
2024-06-06 22:10:32
980
1
原创 PHP序列化、反序列化
1.对象被创建时触发__construct()方法,对象使用完被销毁时触发__destruct()方法。2.对象被序列化时触发了__sleep(),字符串被反序列化时触发了__wakeup()//大写字母O表示对象,4是类名长度,test为类名,表示该类有3个成员属性。类型:长度:“值”…admin=admin,passwd=ctf时得到flag,序列化p。admin=admin,passwd=wllm得到flag,序列化p。4.$a->h()调用了不存在的方法触发了__call()方法。
2024-06-05 22:03:46
1137
原创 [第五空间 2021]WebFTP、[HCTF 2018]Warmup
/定义了一个名为emmm的类,在该类中有一个静态方法checkFile用于检查要包含的文件是否在白名单中,白名单是一个关联数组$whitelist,其中包含了允许包含的文件的键值对。//先使用mb_strpos函数找到$page中第一个问号的位置,然后使用mb_substr函数将问号之前的部分作为$_page进行处理。改了之后又提示 不是本地,添加xff(X-Forwarded-For:127.0.0.1)回显得到flag。跟上题一样,bp抓包发到重发器,回显后发现flag(base64解码)。
2024-06-04 17:26:02
1161
原创 [SWPU 2019]神奇的二维码、buuctf部分web题
在低于7.2.29的PHP版本7.2.x,低于7.3.16的7.3.x和低于7.4.4的7.4.x中,同时将get_headers()与用户提供的URL一起使用时,如果URL包含零(\0) 字符,则URL将被静默地截断。改payload为:?在CVE中,每个漏洞按CVE-1999-0067、CVE-2014-10001、CVE-2014-100001这样的形式编号。在一些控制字符被过滤的时候,可以用转义符,让控制符失去原本的含义,变为字面量,但作用不变。
2024-05-30 21:48:09
1037
原创 [SWPUCTF 2022 新生赛]奇妙的MD5... ...
第三层:GET传参?第一层:POST传参 gdou[]=1&ctf[]=2,(===强比较,[]数组绕过)字符串的弱比较,可以用114514a(字符串)来绕过,解析后仍为114514(整型)F12查看源码,在/dist/index.umd.js中发现一个关于flag的路径。输入想要获取的数据库名称,使用万能密码1’ or ‘1’=’1爆破。二者值不相等,但MD5加密后相等,===强比较 使用[]绕过。第四层:flag传入空值 flag= ,返回。==弱比较,使用0e、[]数组绕过都可以。
2024-05-28 22:06:52
932
原创 [NISACTF 2022]easyssrf、[NISACTF 2022]level-up
php的数组在进行string强制转换时,会将数组转换为NULL类型 null=null成立,没有绕过去。: 是 PHP 内置函数之一,用于解析 URL 字符串,将其拆分为不同的组成部分,可以获取协议、主机名、端口号、路径、查询参数等信息。函数读文件,故可以用 php://filter伪协议 读取源代码并进行base64编码输出。用于获取指定字符串A在另一个字符串B中首次出现的位置,并返回从字符串B到末尾的所有字符串。匹配任何不可见字符,/D如果以$限制结尾字符,则不允许结尾有换行。
2024-05-27 22:03:30
980
原创 CTFHUB技能树——SSRF(三)
(2)添加端口号 http://127.0.0.1:8080(3)短地址 https://0x9.me/cuGfD(4)可以指向任意ip的域名 xip.io(5)ip地址转换成进制来访问 192.168.0.1=3232235521(十进制)(6)非HTTP协议。
2024-05-24 18:13:27
1153
原创 CTFHUB技能树——SSRF(二)
也可以ls /查看根目录,然后再URL编码两次 放进url可见flag的文件名,cat读取即可得到flag。选择一个当前存在的php页面,这里选主页index.php,命令执行ls查看目录。index.php与上题一样,使用POST请求的方法向flag.php传递参数。意思是需要在本地上传且文件不能为空,这里缺了一个提交按钮,F12添加一下。题目描述:这次需要上传一个文件到flag.php了.祝你好运。访问shell.php,连接蚁剑得到flag。得到payload,再URL编码两次。
2024-05-24 16:52:23
533
原创 CTFHUB技能树——SSRF(一)
大多是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。(7)从URL关键字中寻找(share、wap、url、link、src、source、target、u、display、sourceURl、imageURL、domain)(1)可以对外网、内网、本地进行端口扫描,某些情况下端口的Banner会回显出来(比如3306的);(5)使用file:///协议读取本地文件(或其他协议)
2024-05-21 22:07:05
1348
原创 [BJDCTF 2020]easy_md5、[HNCTF 2022 Week1]Interesting_include、[GDOUCTF 2023]泄露的伪装
hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。php://filter/convert.base64-encode/resource=文件路径。=b,但是它们的MD5值相等,且此处为(==)弱比较类型。使用dirsearch扫描,发现状态码为200的/www.rar目录,url下载压缩包。但是它们的MD5值相等,且此处为(===)强比较类型,使用数组绕过。这也是or 1 = 1 的由来,所以在这里要尝试构造带or的参数。
2024-05-14 20:04:17
730
1
原创 [GXYCTF 2019]Ping Ping Ping(内联执行)、[鹤城杯 2021]EasyP ($_SERVER)
于是就可以使用cat$IFS$9`ls` 这个命令来输出ls里面的flag.php以及index.php中的内容。$_SERVER['REQUEST_URI'] 得到:/php/flag.php/flag?1.$_SERVER['PHP_SELF']:获取当前执行脚本的文件名(相对于网站根目录的路径及 PHP 程序名称。$_SERVER['PHP_SELF'] 得到:/php/flag.php/flag。$_SERVER['SCRIPT_NAME'] 得到:/php/flag.php。
2024-05-10 18:06:24
633
原创 JS分析——[NSSCTF 2022 Spring Recruit]ezgame、[HDCTF 2023]Welcome To HDCTF 2023、[HNCTF 2022 Week1]2048
目录[NSSCTF 2022 Spring Recruit]ezgame[HDCTF 2023]Welcome To HDCTF 2023[HNCTF 2022 Week1]2048[HNCTF 2022 Week1]easy_html如何修改JS代码:怎么才能在浏览器直接改JS代码还能运行?_前端能直接f12改js调试吗-CSDN博客[NSSCTF 2022 Spring Recruit]ezgame打开环境,发现是一个游戏界面查看源代码,发现提示分数大于6
2024-05-10 14:48:28
532
2
原创 [SWPUCTF 2021 新生赛]PseudoProtocols、[SWPUCTF 2022 新生赛]ez_ez_php
给了一个假的flag,提示用PHP伪协议 并且真正的flag在‘flag’文件里面,由此构造payload。有一些敏感信息会保存在php文件中,如果直接利用文件包含去打开一个php文件,php代码不会显示在页面上。data://本身是数据流封装器,其原理和用法跟php://input类似,但是是发送GET请求参数。访问路径,得到新环境(包含flag.php文件,GET传参了a变量,如果a的内容为字符串。表示用户请求的是一个PHP文件,返回“Nice!代码提示flag.php文件,直接访问看看。
2024-05-07 17:10:32
566
原创 文件包含漏洞
程序开发人员会把重复使用的函数、变量、类等数据写到单个文件中,需要使用到里面的数据时直接调用此文件,而无需再次编写,这种文件调用的过程称为文件包含。
2024-04-29 21:36:40
1180
原创 [LitCTF 2023]Ping、[SWPUCTF 2021 新生赛]error、[NSSCTF 2022 Spring Recruit]babyphp
如果md5() 中传入的不是字符串而是数组,不但md5()函数不会报错,结果还会返回null,在强比较(===)里面null=null为true绕过,b1与b2设置不同的值即可,此处传参 b1[]=1&b2[]=2 即可绕过。第四个if,此处是php的==弱比较,就可以用hash比较的缺陷绕过,得到最终flag。使用limit 0,1(第一张表),limit 1,1(第二张表)... ...limit 0,1:表示从第0行开始,显示1行,从0开始计数。第一个if,可用数组绕过,POST传参 a[]=1。
2024-04-28 22:05:40
967
1
原创 [极客大挑战 2019]Upload、[ACTF2020 新生赛]Upload、[MRCTF2020]你传你呢
在文件内容的起始位置加上一个GIF89a,文件就会被认为是一个图片。试试改后缀为phtml,提示语句中不能包含<?想到用文件头GIF89a绕过,bp抓包修改,终于上传成功。连接蚁剑,注意修改路径(一般为upload/文件名)(2)偶然上传了代码如下的png文件,发现也能上传成功。抓包修改Type为jpg图片,文件后缀名可用.pht。的图片马(还是报错)先上传1.php试试,发现不可以。连接蚁剑,在根目录下得到flag。打开环境,是上传一句话木马的题。试试1.php,弹窗提示。连接蚁剑,得到flag。
2024-04-26 19:35:39
457
1
原创 文件上传漏洞(upload-labs)
文件上传漏洞是web系统中常见的一种功能,通过文件上传能实现上传图片、视频,以及其他类型的文件。如果恶意用户上传了可执行的文件或者脚本,就可以利用上传的恶意文件控制整个网站,这个恶意文件被称为WebShell,也可称为一种网页后门。
2024-04-25 21:58:07
1222
原创 [LitCTF 2023]PHP是世界上最好的语言!!、 [LitCTF 2023]Vim yyds、 [羊城杯 2020]easycon
在编辑文件时产生的,当用 vim 编辑器编辑文件时就会产生,正常退出时 .swp 文件被删除,但是如果直接叉掉(非正常退出),那么 .swp 文件就会被保留。题目提示了vim泄露 源码泄露,使用dirsearch扫描,找到200的可以访问路径,下载url/.index.php.swp。Vim编译器是Linux操作系统,将文件index.php.swp传入kali,用vim打开文件。返回结果中发现存在 index.php 页面,在URL访问,有个弹窗(发现存在flag,cat查看flag文件 得到flag。
2024-04-22 21:48:32
501
原创 RCE漏洞及其绕过——[SWPUCTF 2021 新生赛]easyrce、caidao、babyrce
(参考)Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在命令行中输入命令,运行在后台的shell把命令转换成指令码发给操作系统。远程代码执行漏洞远程命令执行漏洞。
2024-04-19 19:55:31
1261
原创 HG泄露(ctfhub)
hg(Mercurial)总结_hg mercurial-CSDN博客Mercurial简介-CSDN博客Mercurial(英文意为水银,所以常被缩写为hg)是一款非常优秀的分布式版本控制系统(DCVS),具有高效率、跨平台、可扩展、使用简便且开源等优点,是目前最为流行的版本控制工具之一。分布式版本控制系统:当源码服务器故障或网络不通时,依然能提交你所做的本地修改。
2024-04-16 22:02:16
958
原创 SVN泄露(ctfhub)
SVN详解_svn cp-CSDN博客subvert(颠覆) + verson(版本) = subversion --> svnSVN(Subversion)是一种开放源代码版本控制系统,用于管理项目的文件和代码。
2024-04-15 20:43:56
1342
原创 [SWPUCTF 2021 新生赛]jicao、easy_md5
JSON是什么?对JSON的简单理解_josn是什么-CSDN博客JSON(全称JavaScript)是一种存储数据的方式,使用键值对e.g.{“key”:”value”}的形式表示数据。JSON中,键是一个字符串。值可以是字符串、数字、布尔值、数组、嵌套的JSON对象或null。
2024-04-12 20:12:16
907
原创 简单认识Git(dirsearch、githack下载),git泄露(ctfhub)
Git的结构和使用_git结构-CSDN博客.git所在文件夹(2)暂存区(stage 或 index):一般存放在.git目录下的index文件(.git/index)中,所以把暂存区有时也叫作索引(index(3))本地仓库(版本库):用于存储各种版本(分支)的信息。.git文件就是版本库,其中的.git/HEAD文件,它存储着当前分支的名字(4)远程仓库:服务器存贮着各种项目,例如国内的gitee,国外的githubgitlab等等运作过程:(图片来自水印)
2024-04-11 22:05:45
1291
1
原创 Windows、Linux常用命令
exec 函数执行系统命令,并将输出存储到一个数组中,每一行命令输出作为数组的一个元素。它的返回值是命令的最后一行输出或者返回状态码(命令成功执行返回0)。shell_exec 函数执行系统命令,但它将命令的输出作为字符串返回,而不是打印到标准输出。passthru 函数执行系统命令,并直接将命令的输出发送到标准输出。|| 顺序执行多条命令,遇到执行正确的命令后停止执行后面的命令。&& 顺序执行多条命令,遇到执行错误的命令后停止执行后面的命令。" 输出我!
2024-04-07 21:56:54
508
原创 信息泄露(ctfhub)
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。整理一下思路,题目说的就是flag在index.php.bak文件里,访问路径下载文件,得到flag。使用dirsearch扫描,找到200的可以访问路径,下载url/.index.php.swp。
2024-04-03 17:59:19
936
原创 密码口令(ctfhub)
使用一组字典,如果你设置了$用户名$、$密码$、$验证码$,那么狙击手模式只会用户名,密码和验证码。使用一组字典,如果你设置了$用户名$、$密码$、$验证码$,那么攻城锤模式会攻击。Order payload$用户名$ payload$密码$ payload$验证码$允许使用多组字典,如果你设置了$用户名$、$密码$、$验证码$,那么草叉模式会在这些地方。允许使用多组字典,如果你设置了$用户名$、$密码$、$验证码$,那么集束炸弹模式会进行笛卡尔积。。
2024-04-02 22:03:18
1236
原创 过滤空格(ctfhub)
注释过滤 /**/、/*!*/、//、#、--括号过滤 ()符号过滤 %00、%09、%20、%a0 %0a、%0b、%0c、%0d引号过滤 ' 、 "大小写过滤 大小写双关键字绕过 '+'正则表达式绕过 \s、\s*\s+ 表示匹配一个或多个空白字符,\s* 表示匹配零个或多个空白字符。
2024-04-02 20:24:30
452
原创 MySQL结构、Cookie注入、UA注入、Refer注入 (ctfhub)
User-Agent是Http协议中的一部分,属于头域的组成部分,(简称UA)。是一种向访问网站提供你所使用的浏览器类型、
2024-04-01 22:00:44
879
1
原创 时间盲注(ctfhub)
(布尔盲注直接使用length进行筛选:按照length从高到低排序 前面四个即为结果,按照payload1的顺序进行排序得到数据库名sqli。(已经知道长度为4,可以直接设置为4,不知道时 设置比需要爆破字符的长度长。(5)点击开始攻击得到结果,sleep(5)要筛选出响应时间大于5s的数据包。condition为条件,条件为真时返回true,条件为假时返回false。再进行筛选,响应时间最大的四个就是执行成功的——sqli。# -D 指定库,-T指定表,-C 指定列(字段)(爆破字段为26个英文字母)
2024-03-29 17:36:18
1267
1
原创 布尔盲注(ctfhub)
页面没有报错回显,不知道数据库具体返回值的情况下,对数据库中的内容进行猜解,实行SQL注入。在注入语句后,盲注不是返回查询到的结果,而只是返回查询是否成功。?id=1' and 1=1--+ 真页面true?id=1' and 1=2--+ 假页面false# substr(database(),1,1):表示从数据库的第1个字母开始,显示1个字母,从1开始计数# limit 0,1:表示从第0行开始,显示1行,从0开始计数一、手动注入一般顺序:爆数据库名长度。
2024-03-27 21:46:52
1083
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人