自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [BJDCTF2020]The mystery of ip

这里一时半会没反应过来是模板注入,就想到伪装一下ip就行了,然后在页面上,可以看到输出信息,看了一下大佬们的wp才知道,原来是php的模板注入,这里就先修改一下这里的值,判断一下到底是那种模板注入,传入一个{{7*7}},发现输出了49,我们就判断PHP可能存在Twig模版注入漏洞,Flask可能存在Jinjia2模版注入漏洞。打开靶场,因为这里已经说是和ip有关,所以第一个想到的就是抓包,然后加一下文件头,增添一下X-Forwarded-For,让其等于127.0.0.1。

2025-05-16 11:19:42 371

原创 BugKu Simple_SSTI_2

这个类,也有catch_warnings.这样我们就能获取到对应的索引,然后这里这个题我用到的是catch_warnings。在获取初始化属性后,带wrapper的说明没有重载,寻找不带warpper的,因为wrapper是指这些函数并没有被重载,这时它们并不是function,不具有__这里找到索引后,调用它的__init__方法进行初始化类,然后再调用__globals__获取到方法内以字典的形式返回的方法、属性等。这里的脚本就是要寻找那些有回显的或者可以执行命令的类,大多数利用的是。

2025-04-05 18:13:34 610

原创 Bugku 秋名山车神

这里就大概知道,要通过post方式,传递结果,但是计算完,传递结果,发现了不对劲,当传递结果的时候,页面会刷新,然后value就变了,需要重新算,但是算完又会变。打开环境,就看到这样一大串数要计算,然后检查源码,还没有提示。这样就能传出我们计算好的值,果然得到了flag。

2025-03-28 14:40:12 218

原创 [MRCTF2020]Ezpop

这里我们想要做的是读取flag.php,然后就要触发invoke魔术方法,而想要触发invoke魔术方法就就是类被当作是函数调用,也就是要触发Test类中的__get魔术方法,而想要触发这个魔术方法,就要访问类中的私有属性或者是不存在的属性,也就是触发Show类中的toString魔术方法,而想要触发这个魔术方法,就是对象也就是类,被当成字符串使用。也就是Show类中的wakeup魔术方法,而想要触发该魔术方法就要使用反序列化函数,而恰好,我们通过get传参执行的就是反序列化函数。

2025-02-27 14:14:32 432

原创 [网鼎杯 2020 朱雀组]phpweb

果然,当我们传入MD5和123得到的就是123经过MD5加密的结果。这里cat $(find / -name flag*)的意思就是查看匹配类似flag文件的内容。打开靶机,发现有一张图片且会过几秒就进行刷新,然后查看源代码,也没有看出什么。

2025-02-26 14:47:25 216

原创 [SUCTF 2019]CheckIn1

然后这个服务器可能不是apache的,而是nginx的。那我们就上传.user.ini的试一下,不过上传这个需要注意的是,我们要使用文件幻数,就是添加一个GIF89a,来骗过我们的检测,为什么?因为从上面的提示来看,我们可以知道,这个对我们上传的内容进行了检测,而不是单纯的检测后缀。所以我们拼接一个头文件幻数。这样我们就能通过执行刚才的.user.ini来执行我们的script.jpg的内容。会发现,果然可以,然后菜刀连一下就行了。

2025-02-20 17:52:36 404

原创 [ZJCTF 2019]NiZhuanSiWei1

使用php的filter协议,构造的payload为:php://filter/convert.base64-encode/resource=./useless.php。这里需要注意,将我们原本的&file=php://filter/convert.base64-encode/resource=./useless.php改为:&file=useless.php。然后构造的payload为:?打开靶机,看到这里,大概就知道是要代码审计了,整体浏览了一下,还涉及反序列化的一些知识。一共要绕过三关,第一关就是。

2025-02-15 16:14:14 802

原创 [护网杯 2018]easy_tornado 1

tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量,这里面就存在我们需要的cookie_secret。我们知道模板注入必须通过传输型如{{xxx}}的执行命令。

2025-02-15 14:59:49 422

原创 xss-labs关卡记录15-20关

随便传一个参数,然后右击查看源码发现,这里有一个陌生的东西,就是ng-include。这里就是:ng-include指令就是文件包涵的意思,用来包涵外部的html文件,如果包涵的内容是地址,需要加引号。因此我们试试包含第一关,构造payload为:?果然可以加载,接着我们试试,闭合原本的标签,构造payload为:?发现这里估计是用了一个htmlspecialchars($str)进行html的实体转化。

2025-01-07 11:25:23 593

原创 xss-labs关卡记录8-14

还是常规方法,先上传我们常用的试试,onfocus <script> <a href=javascript:alert()>

2025-01-06 22:23:46 1279

原创 xss-labs关卡记录1-7关

我们发现,h2这里可能是之前我们说的htmlspecialchars() 函数,然后input这里发现对数据中的进行了去掉,因此这里就想到上面的事件,' onfocus=javascript:alert(1) ',然后本关卡的闭合方式为双引号,因此构造的payload为:" onfocus=javascript:alert(1) ",这样就能实现绕过。src也不行,试一试大小写吧,构造payload为:">alert(2)

2025-01-06 11:11:41 1259 1

原创 [RoarCTF 2019]Easy Calc1

这里还需要注意的就是,我们不能单纯的传num,而是空格加num,这样waf就找不到num这个变量了,因为现在的变量叫“ num”,而不是“num”。但php在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,还可以进行上传非法字符。可以看到,get型获得num变量的值,然后设置了一个黑名单,进行过滤,这里就需要之前提到的,时,就是在请求 ASCII 表中第 47 个字符,其对应的字符就是正斜杠。函数用于返回 ASCII 值对应的字符。再者就是这里的黑名单我们可以使用。

2025-01-03 11:12:50 476

原创 [极客大挑战 2019]BuyFlag1

这里再次查看大佬的wp,但是我没有看懂让money[]=100000000,这个为什么可以通关拿到flag,我用了科学计数法,让money=1e9;

2025-01-03 10:04:14 411

原创 [MRCTF2020]你传你呢

然后我们试试上传一个.htaccess方便后续上传我们的图片马进行解析,但是发现也不行,这个时候,就抓包试试,我这里一开始没有该类型,就是尝试jpg改为php后缀加上.就发现可以绕过了,好了这会就知道了,上传一个.htaccess配置文件,然后抓包将类型改为:image/png就绕过了。这里就可以将我们上传的jpg文件,按照php的类型进行解析,这样就能上传我们的图片马了,然后就可以根据提示的路径,来访问我们上传的图片马了,这里给出。

2025-01-02 22:33:01 189 1

原创 [极客大挑战 2019]Knife1

是 PHP 中的一个函数,用于读取文件内容。这个函数将文件中的内容读入一个字符串中,并返回这个字符串。如果无法读取文件,函数将返回。连接成功,在根目录下发现flag。构造的payload如下:Syc=var_dump(file_get_contents('/flag'));构造的payload如下:Syc=var_dump(scandir('/'));首先先测试一下,发现可以在该页面上使用一句话木马。列出了指定目录中的文件和目录,然后。检查源代码,就会发现flag已经出现。输出了这些文件和目录的详细信息。

2025-01-02 21:54:43 530

原创 [极客大挑战 2019]Http 1

然后看到提示,让我们使用syclover浏览器来进行,这里就是要我们去修改user-agent的内容。修改完成之后,发现只能是本地访问,于是接着要伪造ip了。X-Forwarded-For:用于修改ip。这里就是需要我们从https://Sycsecret.buuoj.cn来访问它。因此我们抓包,使用referer:服务器伪造。

2025-01-02 21:16:13 391

原创 [极客大挑战 2019]Secret File

这里就是代码审计部分了,屏蔽了一些关键词,这里也用不到,我们直接使用php伪协议来读flag.php页面,构造payload如下:?file=php://filter/read=convert.base64-encode/resource=flag.php,这是将文件flag.php,通过base64编码的形式,呈现在页面上,然后再用base64解码,就可以读flag.php页面的源码了。拿到flag: 'flag{4f2b1e87-7499-4b3a-823f-8d4938c8c7d9}';

2025-01-02 10:58:00 344

原创 [极客大挑战 2019]HardSQL 1

然后这里是没用空格的,但是爆表的时候,发现不对劲,要加上空格,但是空格被屏蔽了,于是就更换()来进行:1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))#没办法,又看看大佬的wp,原来是用的right()突破字符限制,就是从字符串的最右边起,开始选字符。拿到表名:H4rDsq1。

2024-12-31 20:05:03 2230

原创 BUUCTF sqli-labs 1

发现存在flag表,接着就是要看该表的信息:?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='ctftraining' and table_name='flag'),3--+查看该数据库中都有什么表:?这里需要注意,我们要指定是ctftraining数据库的flag表,如果单纯的是flag则是查找的security.flag这时就会报错。

2024-12-31 16:52:05 896

原创 [强网杯 2019]随便注

可以看到,这里有许多数据库,然后再查看表信息,也是使用:1';#注意,如果tableName是纯数字,需要用`包裹,比如。PREPARE 名称 FROM Sql语句?EXECUTE 名称 USING @x;

2024-12-31 10:04:08 518

原创 upload-labs关卡记录20

这里的黑名单没有大小写后缀信息,因此可以在保存这里:修改后缀上传大小写后缀进行绕过。

2024-12-30 16:37:29 294

原创 upload-labs关卡记录16

3.最后一种方法是利用 exif_imagetype 函数,该函数用于判断一个图像的类型,采用这种方法更加简单。返回值和 getimagesize() 返回的数组中的索引 2 的值是一样的,但该函数要快得多。):一个字符串,包含了图像的“height”和“width”属性,格式为。):如果图像是真彩色图像,则返回3,如果是灰度图像,则返回4。):图像的类型,这个值是一个常量,对应于图像的格式,例如。):图像的宽度,以像素为单位。):图像的高度,以像素为单位。):图像的MIME类型,例如。

2024-12-30 15:53:07 549

原创 upload-labs关卡记录14

只检查了两个字节,我们直接修改一句话木马,先改后缀php为png,然后winhex修改头部就完了。可以上传,同理:查看源码。

2024-12-29 22:09:34 279

原创 upload-labs关卡记录11

的不区分大小写版本,意味着在进行替换时,它会忽略字符的大小写差异。但是我们可以双写从而绕过这个。黑名单,有大小写,有特殊可解析后缀,后配置文件都进行了屏蔽,但是没有双写。直接构造shell.pphphp.看到绕过成功。函数用于替换字符串中的一些子串。

2024-12-29 21:32:49 199

原创 upload-labs关卡记录10

的字符为止,因此可以构造payload为:后缀名+点空格点进行绕过。这样执行下来:shell.php. .会变成shell.php.这样就不在我们的黑名单里面,但是在Windows中会忽略末尾的.,依旧可以进行解析。这里可以看到deldot函数:它的作用是从字符串的尾部开始,从后向前删除点(果然不行:观察到是post型,试一试00绕过:没找到路径,绕过失败。

2024-12-29 21:19:35 513

原创 upload-labs关卡记录9

还是上传一个一句话木马,提示文件类型不允许上传,随变改一改后缀名,发现就可以上传了,黑名单,这里经过尝试,常规的双写后缀,大小写,.htaccess,然后抓包,试试点后缀和空格试试,发现还是不行。

2024-12-29 20:49:54 255

原创 upload-labs关卡记录8

之后的部分,即文件扩展名。而不会去除我们加的.。但是在Windows下,这个点和空格一样,都会被忽略。黑名单过滤,同时不能进行双写,大小写,特殊可解析后缀,.htaccess,都不能。函数获取文件名中的最后一个点(

2024-12-28 20:47:56 344

原创 upload-labs关卡记录7

没有过滤.htaccess,但是实际上传会发现,还是过滤了,查看源码后发现,也对这个进行了过滤,但是没有在提示里面写,同时也过滤了.ini。黑名单过滤,同时会发现这里的大小写后缀,特殊可解析后缀,都不能进行绕过。所以如果我们加一个空格,那么这样在后续比较的时候就会发现.php空格和.php是不一样的,所以进行了绕过,但是windows在解析的时候.php空格会自动忽略后面的空格进行解析。发现,虽然进行了限制,也进行了小写转换,但是对于后缀名的处理并不严格,我们可以抓包然后在后缀名后加空格进行绕过。

2024-12-28 20:24:40 348

原创 upload-labs关卡记录17

看到本关卡重新渲染了图片,这时我们之前的那种图片马就没用了,我们要下载这个图片,然后和之前的图片比较,在合适的地方重新插入我们的一句话木马,这就属于是二次渲染。

2024-12-28 16:08:59 678

原创 upload-labs关卡记录15

用winhex打开图片马,就可以看到我们的一句话木马已经拼接到末尾了。使用一个正常图片,然后拼接一个一句话木马即可实现。

2024-12-27 22:16:17 325

原创 upload-labs关卡记录13

我们找到+对应的16进制,2b,然后进行更改为00即可实现绕过。不要忘记对filename=shell.php改为shell.png这样才会成功绕过.这里和关卡12非常类似,唯一不同就是12关用到get方法,这里用到post方法。因此对应的截断方式也不一样,依旧是使用我们的bp进行抓包,

2024-12-26 22:13:30 464

原创 upload-labs关卡记录12

于是就进行%00截断绕过,原理就是:%00是一个url编码,url发送到服务器后就被服务器解码,这时还没有传到验证函数,也就是说验证函数里接收到的不是%00字符,而是%00解码后的内容,即解码成了0x00。在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束。补充一下:这里使用这个%00截断的时候,php:php < 5.3.29且在php的配置中要设置:magic_quotes_gpc=off。

2024-12-26 21:52:27 950

原创 upload-labs关卡记录11

就会发现,这里我们执行语句是不行的,我们点击提示,发现这里提示会从文件名中去除。上传成功后,就会发现,我们的目的已经达到了。很明显的,这里就是可以用双写后缀名进行绕过。

2024-12-26 19:55:45 603

原创 upload-labs关卡记录6

发现,没有转换小写的函数,因此可以使用一个大小写绕过,修改我们的一句话木马后缀,改为.PHp然后上传,就结束了。这里也是老样子,直接先上传一个一句话木马,然后看提示。

2024-12-25 22:02:54 127

原创 upload-labs关卡记录5

这里第五关用到的方法,可以进行绕过,原理师傅讲的也很清晰,原理类似于之前的.htaccess绕过,通过添加配置文件。写进命名为.user.ini的文件中,然后上传这个文件,然后再上传命名为1.txt的文件。然后再使用hackbar来执行刚才上传的一句话木马,就是写进1.txt的一句话木马。我这里的一句话木马为:<?就是将这里的代码:auto_prepend_file=1.txt。

2024-12-25 21:18:41 402

原创 upload-labs关卡记录4

发现上传成功,这里的配置文件内容为:SetHandler application/x-httpd-php。这里就可以发现我们上传成功了,后续就和之前一样,复制图像链接即可。

2024-12-25 20:28:36 362

原创 upload-labs关卡记录3

这里我们发现在限制里面,并没有说不能上传.htaccess后缀的文件,(.htaccess 文件(或者“分布式配置文件”),全称是Hypertext Access(超文本入口)。这里可以看到,代码中对我们上传的文件的名称进行了更改,并用随机数和时间戳进行替换,但是不难发现,这里有::$DATA (在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当 成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,它的目的就是不检查后缀名。我们的设想都未执行,为什么呢?

2024-12-24 22:12:16 549

原创 upload-labs关卡记录2

同理,这里依旧进行上传我们的一句话木马进行测试,这里可以看到,页面进行重新加载了,因此我们判断不是客户端检测,而是服务端检测。这里就尝试对content-type进行更改,改为图片格式,尝试进行绕过。

2024-12-24 21:21:59 247

原创 upload-labs通关记录1

然后使用hackbar,执行语句即可:pw=phpinfo();这里是我的一句话木马就是:<?可以明显的看到,这里有一个return checkFile()。然后就可以看到这个是js检查,绕过方式非常简单,只需要把这个进行删除即可。当我们删除之后,在上传我们的一句话木马,就可以看到,上传成功。

2024-12-24 20:57:57 215

原创 sqli-labs关卡记录13

uname=1')and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),0x7e),1)--+&passwd=1&submit=Submit拿到users表的列名信息。这里就简单的获取了前60个字符。

2024-12-24 14:33:09 560

空空如也

空空如也

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

TA关注的人

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