自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [HITCON 2017]SSRFme代码审计

认认真真做了一次代码审计的题目,感觉收获很大,决定记录下来一打开题目就是源代码首先isset()是 PHP 中的一个函数,用于检查变量是否已经被设置并且不是 null。它接受一个或多个参数,并返回一个布尔值,指示每个参数是否被设置。//输出ip地址,在网页上也能看到总之前面这一串的目的就是输出ip地址题目会将orange和ip地址进行拼接,然后md5加密然后使用mkdir()创建了这样的一个沙盒路径,并且使用chdir()进入该目录。

2024-04-11 17:56:22 376 1

原创 ez_serialize

源码pop链子如下exp如下解释如下对于这个pop链的执行过程,可以进一步详细解释。首先,让我们逐步追踪反序列化的过程:反序列化开始时,会先对最内层的对象a进行反序列化,即将‘a进行反序列化,即将‘var_1属性赋值为字符串"php://filter/read=convert.base64-encode/resource=flag.php"`。然后,对对象d进行反序列化,它的‘d进行反序列化,它的‘p属性引用了对象$a。在反序列化过程中,会调用对象$d的__get()`函数,返回对象$a的结果。

2024-03-31 23:27:01 256 1

原创 [GXYCTF2019]禁止套娃1(无参RCE)

这一题用githack获取源码我就不讲了,我想说的是这个题的方法和我自己的理解!这段代码就是禁止我们用一些php伪协议之类的东西if(';R)?这个就比较有意思了大概的意思就是把'a-z,_'之后的东西转义为NULL,通俗来说就是可以使用函数但是不能使用参数,下面是在shell中的测试结果解法一:函数介绍:scandir() :将返回当前目录中的所有文件和目录的列表。返回的结果是一个数组,其中包含当前目录下的所有文件和目录名称(glob()可替换)

2024-03-29 16:45:33 357 1

原创 利用PHP的字符串解析特性绕过Waf

原文链接:https://blog.csdn.net/snowlyzz/article/details/123459590。尝试给num传参:发现只能传数字 而不能传字母。而我们要读取的可能就是flag这个文件。那我们可以利用PHP的字符串解析特性来绕过WAF,在num前面加上空格。却发现他没有返回我们想要的答案,看源码发现‘ ’引号被过滤掉了,那就用。输入后 可以浏览根目录下的文件,而其中的falgg就是我们要读取的文件。绕过num传参后,我们要读取他根目录下的文件。()绕过,chr(47)就是斜杠/

2024-03-28 23:06:10 179 1

原创 preg_replace函数漏洞利用

26就是&,%20就是空格,为什么用&&是因为&&是先执行前面语句为true后再执行后面的,就是先进入目录再ls,而&则被认为是两个独立的部分。构造payload=?\S*=${@eval($_POST[cmd])}是一个正则表达式模式,用于匹配零个或多个非空白字符。再看ics-05这题首先用php伪协议读取源码以后。将匹配任何非空白字符的序列。利用preg_replace漏洞读取目录结构。利用php伪协议来读取文件内容。首先看ctf不过如此那个题。

2024-03-28 14:42:01 932 1

原创 [RoarCTF 2019]Easy Java

这也给我扫清了困惑,为啥后面源码在classes文件里面,这里用post访问WEB-INF/web.xml文件目录,不过为啥用post我不太理解。发现路径,读取classes,因为这是java语言,读取Flag类的class文件,后缀是有class的。一点进来还以为是sql注入,后来才知道是我太年轻了,后来看了大佬文章。然后用base64解码后得到flag。

2024-03-26 16:40:53 365 1

原创 upload文件上传心得

因为不允许上传ph为后缀的文件,所以phtml绕过也不行,那么可以利用.htaccess文件将特定文件当做php文件处理,那么上传一张图片马就可以当做php文件来利用。9、文件流绕过,前提条件,必须是window的服务器,抓包修改后缀,并在后缀后面加上::$DATA,10、双拼绕过,抓包修改后缀,并在把后缀改成phphpp,这样后端去掉php,还剩下个ph和p组合。6、空格绕过,抓包修改后缀,在后缀后面加上空格。2、文件内容绕过,用图片马,抓包修改后缀绕过。7、点绕过,抓包修改后缀,在后缀后面加上点。

2024-03-17 20:38:42 378 1

原创 php序列化和反序列化

我们可以在该函数中添加一些释放资源的操作,比如关闭文件、关闭数据库链接、清空一个结果集等,但__destruct() 在日常的编码中并不常见,因为它是非必须的,是类的可选组成部分。},发现报错就是__wakeup()函数的问题,需要对象属性个数的值大于真实的属性个数,所以修改payload:/?运用脚本生成序列化字符串 O:4:"xctf":1:{s:4:"flag";

2024-03-16 21:07:22 1302

原创 SSTI注入

乍眼一看是一个python代码,想到是利用ssti模板注入,利用{{7*7}}返回49表明存在模板注入,但是{{config}}返回错误,显然被过滤了。就用flask内置函数来绕过获取config,下面两个方法都可以,然后就发现了flag。做题主要参考大佬文章,先附上大佬链接。

2024-03-16 15:05:52 343 1

原创 sql注入做题记录

今天开始记录我刷sql注入方面题目的一个过程和心得,希望自己有所收获吧,先看这一题,有个搜索框,测试一下,果然存在sql注入漏洞。说明union后的第2、3列被显示出来,因此我们可以利用这两列获取当前数据库、当前数据库所有列表名、列表所有字段名。很明显我们需要得到news数据库下的secret_table表的fl4g字段。hello' order by 1,2,3# //无报错。hello' order by 1,2,3,4# //报错。得到表名news、secret_table。

2024-03-14 20:15:25 1195

原创 fileinclude个人心得

然后我悟了,因为在第一题中仅仅是从get参数中获取cat的值,而第二题是利用了include函数导致的文件包含漏洞。类似的,这个题也一样,只不过发现文件包含点在COOKIE中,使用php伪协议filter的读,base64编码。以后做到文件包含的题目会加进来,新人菜鸟刚入门ctf,希望大佬批评指正。结果发现没有响应,然后我看网上的解答发现直接cat=dog就够了。今天做了一段代码审计的题目,查看源代码,内容是这样的。于是我找到之前的题目的源码,想找到这两者的差别。

2024-03-11 20:25:53 403

空空如也

空空如也

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

TA关注的人

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