- 博客(80)
- 收藏
- 关注
原创 ARP 渗透与防御
每台计算机都有一个ARP表,记录了IP地址和MAC地址的映射关系。访问IP地址的时候就去查ARP表,从而找到对应的MAC地址;如果ARP表中匹配不到,就会使用广播的方式发送一个ARP请求 ,目标主机收到请求后会使用单播的方式返回一个ARP响应,告知自己的MAC地址。拿到MAC地址后,会将映射关系缓存到ARP表。
2025-01-08 21:57:24
1013
原创 docker-compose 升级
官方下载地址: https://github.com/docker/compose/releases。下载完放到kali root目录下。
2024-11-29 22:56:20
302
原创 docker拉取hello-world失败解决办法(包可以的)
最重要的是daocloud,第二个是个人阿里云加速器,点击下面链接就有。只用改第二个就行,其他照抄。
2024-11-29 22:04:11
761
4
原创 在kali用msfpc远程控制Windows
本次实验我们将使用msfpc生成windows下的被控端,并使用metasploit渗透工具进行远程控制。
2024-11-24 14:26:24
659
原创 ctfshow-web 萌新题
spring漏洞pyload:1.发现git2.工具得到.git文件addslashes函数:在预定义的字符前面加上反斜杠%1$的作用就是防止 ' 被过滤掉输入?在Cookie里发现file,,为flag.txt把Cookie中的file赋值为,注这里抓包是响应页面的包。
2024-10-09 22:37:21
470
原创 Linux-DHCP服务器搭建
usr/share/doc/dhcp*/dhcpd.conf.example //官方例子。# cat dhcpd.conf //dhcpd.conf 主配置文件。# rpm -qc dhcp // 检查是否安装dhcp。3.1 把客户端改的BOOTPROTO该为dhcp,把最后两行去掉。区域指定dhcp服务器ip地址(区域大于全局)到客户端看MAC地址,或者拿过租约的服务端会有记录(最后一行)} 用于固定地址(公司的打印机)第一行:全局dhcp服务器地址。
2024-09-22 15:44:49
1303
原创 [UUCTF 2022 新生赛]ez_unser
正常序列化出来是O:4:"test":3:{s:1:"a";preg_match('/test":3/i',$a)) 序列化里面要有 "test":3 ,但又要绕过__wakeup(),这显然冲突了。把a的地址给到b,然后在把正确的内容给到c,因为$this->b=$this->c。改不了变量属性,$a肯定会被' '覆盖,那怎么办呢?
2024-05-12 21:22:49
375
原创 【重庆橙子科技】了解调用链
第一种:可以把new放到__construct(),对源代码没什么影响,因为在源码中反序列化时,没有用到__construct()。第二种:把private改成public,把序列化的结果加上%00index%00test。2.对于在序列化时没有用到的类,应该可以先不用看。但要在反序列化时看有什么用。1.对于私有属性如何赋值。pop链小例子,源码。
2024-05-12 10:21:06
331
原创 [NISACTF 2022]popchains
作为链尾,则要触发 append($value) -->>__invoke(),看到$function()。使 $this->string 为 Make_a_Change 的一个对象,则这个对象的类里面没有page这个变量,则会触发__get()。第二步:$function() ,则要触发 __get($key),看到 $this->string->page。第四步:preg_match,则要触发 __wakeup(),而原文中有 unserialize(),不用管。3.对于第三步和第四步要分开赋值。
2024-05-10 22:48:05
708
原创 [NISACTF 2022]babyserialize
一、理清pop链并进行标注二、如何编写相关脚本三、过滤与绕过1、waf的绕过2、preg_match的绕过_[nisactf 2022]babyserialize。[NISACTF 2022]babyserialize(pop链构造与脚本编写详细教学)-优快云博客。
2024-05-09 17:10:37
427
原创 [HUBUCTF 2022 新生赛]checkin
只是一个变量,不能存类,要用数组来构造。true、0与字符串比较为真。1.构造不能用类,因为。
2024-05-07 21:54:51
303
原创 [SWPUCTF 2021 新生赛]pop
所以$p->w00m = new w33m();则不会触发__toString()。对于__toString(),要是在它的类里的变量被实例化。4.一般类里的函数可以直接去掉,简化代码(方便看)。1.有私有属性的一定要url编码一下,会有不可见字符。3.对于pop链,从链尾分析到链头。
2024-05-07 20:02:31
1143
原创 [ZJCTF 2019]NiZhuanSiWei
上面的源码有echo $password,会触发__toString()。2. include($file)文件包含。1.变量如何变成文件输出。
2024-05-07 17:37:29
358
原创 [GXYCTF 2019]BabyUpload
后端代码对文件类型 Content-type 有限制。但文件后缀为.jpg,蚁剑不能连接。:解析.jpg文件中的php代码 ,内容为。传.htaccess文件失败,后发现。且后缀不能有 php。.htaccess文件。
2024-04-26 19:23:30
387
3
原创 [NISACTF 2022]babyupload
(path,*paths)函数用于将多个文件路径连接成一个组合的路径。第一个函数通常包含了基础路径,而之后的每个参数被当作组件拼接到基础路径之后。就是说传/flag,那么之前的upload/就会删除,就直接读取了根目录下的flag文件。抓包将文件名改为/flag。如果拼接的某个路径以 / 开头,那么包括基础路径在内的所有前缀路径都将被删除,该路径将视为绝对路径。然而,这个函数有一个少有人知的特性,,使得输出的文件只能是在目录。,且文件名前会拼接一个前缀。上传的文件不能有后缀。
2024-04-26 17:15:12
518
原创 [SWPUCTF 2022 新生赛]1z_unserialize
所以我们可以通过构造一个恶意的序列化对象,将自定义的函数传递给 $lt 属性,然后将要执行的代码(或者指向一个恶意代码文件的路径)传递给 $lly 属性。当对象被序列化后再被反序列化时,__destruct 方法会被自动调用,从而执行指定的恶意操作。由题目可知,实现nss反序列化的同时,会触发__destruct()的魔术方法将lt的值赋给a,然后调用a中存储的函数,并将lly属性的值作为参数传递给该函数。只要传参把a变成system();,this->lly变成ls或者cat就是一个简单的命令注入了。
2024-04-23 23:18:48
638
转载 [CISCN 2019华北Day2]Web1
1.知道一个表flag,表中有字段flag---》可以直接跳到查数据那一步啊2.输入--+、#、'、"等都不行---》用fuzz测试查看过滤了那些。
2024-04-22 18:51:54
80
原创 ctf.show_web14
information_schema.tables 或 .columns 用反引号 information_schema.过滤了information_schema.tables、information_schema.column、空格。在switch中,case 里如果没有 break,则会继续向下执行 case。从数据库中查看文件内容,mysql提供了。的函数 load_file()
2024-04-21 11:17:02
385
2
原创 [强网杯 2019]随便注
handler 不是通用的SQL语句,是Mysql特有的。查看数据: HANDLER 表名 READ next;关闭表: HANDLER 表名 READ CLOSE;打开表:HANDLER 表名 OPEN;
2024-04-20 19:54:53
327
2
原创 [LitCTF 2023]这是什么?SQL !注一下 !
2.查询数据时,from后面要填 数据库名.表名。只填flag表名查询不到。如果在当前数据库中没有查到flag,有可能在别的数据库。1.flag不一定要在当前库中,可能在别的数据库。
2024-04-19 12:26:02
147
原创 [SWPUCTF 2021 新生赛]error
如果 flag 只出现一半,用substr(A,B,C)# 31-60位 右边边31位。# 0-30位 左边30位。不能用limit 0,1。
2024-04-17 23:01:43
323
原创 sqlmap使用教程
D 数据库名 -T 表名 --tables。-D 数据库名 -T 表名 --dump。-D 数据库名 --tables。查看目前使用的数据库。
2024-04-17 22:56:08
325
原创 [鹤城杯 2021]Middle magic
这里要猜测 $result 是一个字符串,这样 0=="abc",为true。如果代码替换了abc,但后面又要求有abc,可以用。哈希函数无法处理数组,会返回结果 null。: 解码 JSON 字符串。只能匹配一行的数据。
2024-04-17 21:59:09
424
原创 ctf.show_web13
在.usr.ini中如果设置了文件名,那么任意一个页面都会将该文件中的内容包含进去。在 .usr.ini 中输入 auto_prepend_file =a.txt,这样在该目录下的所有文件都会包含 a.txt 的内容。auto_prepend_file=a.txt // 意思是所有a.txt文件都以php文件方式打开。上传成功之后,但蚁剑这里连接不上,可能是.txt文件蚁剑无法通过php进行解析吧。要求文件大小少于24字节,文件名少于九个字节,后缀小于三个字节,并且。,文件名不能为php。
2024-04-16 22:02:54
386
原创 【攻防世界】warmup
发现有一个通过python启动app.py的命令。有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。知道当时的命令是什么,就能获取xxx.py的名字,进而读取源码。随便点进一个,发现文件,可能存在任意文件读取漏洞(路径穿越漏洞),可以实现任意文件的读取。
2024-04-16 11:02:24
417
原创 【攻防世界】mfw
如果里面是一个字符串,则会当作php代码来执行。比如 assert( "file_exists('$file')" )。想办法绕过 assert("strpos('$file', '..') === false")(1)这里要注意不能直接写在url上,浏览器会对它进行编码,把它写在HackBar;assert函数在php中用来判断一个表达式是否成立,返回ture、false。页面发现git ,可能存在git注入。GitHack:下载泄露的.git文件夹下的文件到本地。(2)写 #、// 都可以。
2024-04-15 11:22:50
968
原创 【攻防世界】lottery
随便输入7个数字,抓包,把numbers改为数组:[true,true,true,true,true,true,true](5) 空数组 [ ] (注意,一旦包含元素,就算包含的元素只是一个空数组,也是true)本题已提供源码,如果没提供,输入/robots.txt,发现/.git。(9)所有其它值包括-1都被认为是 TRUE (包括任何资源)(6)不包括任何成员变量的对象(仅 PHP 4.0 适用)(1)尽管代码在多,也要认真看(一般靠直觉 )。(7)特殊类型 NULL(包括尚未赋值的变量)
2024-04-15 11:22:43
560
原创 【攻防世界】ics-07
session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。我们递归的在1.php文件夹中再创建2.php,访问1.php/2.php/..进入的是1.php文件夹。匹配 ".php"、".php3"、".php4"、".php5"、".php7"、".phpt" 或 ".phtml" 结尾的文件名。(1)if ($_SESSION['admin']):判断 session 中的 admin 是否有值。一个点调用最后面的文件,两个点调用第一个文件。
2024-04-15 10:47:16
669
3
原创 【攻防世界】bug
抓包修改后缀为 “php5”,Content-Type 为 “image/jpeg”,并在 post 数据中将 PHP 一句话木马改为用 JavaScript 表示。4. 利用JavaScript执行php代码(正常的php代码会被检测到,所以就用JavaScript来执行)在muma.php里写一句话木马,发现系统能认出这是php文件,说明开启了内容的检测(存在。3. 等价替换(php5,php3)Content-Type 判断。文件内容过滤 PHP 的语法。
2024-04-14 14:57:39
654
原创 【攻防世界】ezbypass-cat
突然想到有可能是权限绕过的问题,因为以login开头的登录界面一般是白名单,原理简单来说就是访问白名单目录login.html,然后通过…/回到正常目录下,再访问flag.html。
2024-04-11 18:01:39
441
原创 【攻防世界】Cat
2.在url中输入%79,变成y 了。说明服务器对我们输入的内容会进行 url解码 并显示到url上。url 编码使用的是 16 进制,80 也就是 128,ASCII 码是从 0-127,所以传递。当且仅当文件中存在中文字符的时候,Django 才会报错导致获取文件内容。django编码方式为gbk,超过了ascii码范围就会报错。3.从报错信息中,要知道 Django 框架。1.知道是命令行,可以ping操作,可以。没反应,说明过滤了。4.通过报错,可以获取信息。当作绝对路径请求,来读取文件。
2024-04-11 17:06:25
936
原创 【攻防世界】wife_wife
原型链污染不太准确的理解就是“父类影响子类”,一个子类继承于父类后,父类有什么属性子类就有什么属性。比如这里我们的注册信息data按照json的形式传入,JSON.parse后得到一个对象。比较容易搞混的地方来了,这个__proto__是键名,单纯是个键名,值为{“isAdmin”:true},而不是类的原型对象prototype。baseUser猜测是user类似父类的东西,user应该就是上面的。尝试读取isAdmin属性时会顺着上去找父类的,得到true,进入if语句赋值就没用了。
2024-04-09 21:45:10
818
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人