- 博客(31)
- 收藏
- 关注
原创 CVE-2022-0948
延时盲注,也称为时间盲注或延迟注入,是一种利用执行时间差判断是否执行成功的盲注手法。在延时盲注中,攻击者通常会利用sleep()函数制造时间延迟,由回显时间来判断是否报错。例如,攻击者可以通过判断第一个字母的ASCII码是否为115来决定是否执行sleep()函数,进而控制执行时间。虽然延时盲注是一种非常有效的注入攻击手段,但手工检查却相对困难,因为攻击者可以精确地控制执行时间,使得检测工具难以发现异常。因此,在进行网络安全防护时,我们需要加强对输入数据的检查和过滤,避免攻击者利用漏洞进行注入攻击。
2024-12-01 23:11:03
615
原创 CVE-2021-40282
其中网站信息里面有个上传文件设置,可以上传图片,可能存在文件上传漏洞,尝试一下。使用dirsearch扫到一个/admin/login.php。上传图片马,把png的后缀改为phtml,才能上传成功。根目录下没有flag,可能在数据库中。使用bp抓包弱口令爆破一下试试。然后复制上传链接,使用蚁剑连接。在蚁剑里连接数据库,首先数操作。访问一下是一个管理员登陆系统。账号,密码都为admin。然后左上角添加,测试连接。
2024-12-01 23:09:44
158
原创 CVE-2023-7130C
extractvalue函数一次性只能默认返回32个字符,所以需要substr函数去指定从第几个字符开始显示,显示到第几个字符,当然最多还是只能返回32个字符。(蓝色部分为函数,黄色部分为拼接命令,绿色部分是ascii码转换的 ~一进来就发现有报错,可能存在报错注入,尝试一下。构造paload 报错注入查询flag。构造paload 报错注入查询库名。构造paload 报错注入查询表名。构造paload 报错注入查询列名。拼接得到flag:flag{红色部分为所查询的部分)flag前二十个字符。
2024-12-01 23:07:11
241
原创 CVE-2022-1014
访问:/wp-admin/admin-ajax.php?根据提示wordpress插件 WP Contacts Manager <= 2.2.4 对用户输入的转义不够充分,导致了SQL注入。得到flag:flag{367f9589-5515-4c04-8704-7613e2471d7e}通过信息收集获取exp。获取当前用户和数据库。获取当前数据库所有表。
2024-12-01 23:05:13
328
原创 CVE-2022-28060
Python sqlmap.py -r 1.txt(保存的文件名) --batch -D “mysql(爆出的库名)” --file-read “/flag”Python sqlmap.py -r 1.txt(保存的文件名) --batch --dbs。尝试输入万能密码登陆一下,进入includes/login.php,发现没有什么有用的东西。Python sqlmap.py -r 1.txt(导出文件名) --batch。退回上一页,使用bp抓一下登录的包。导出文件,使用sqlmap跑一下。
2024-11-24 17:41:43
294
原创 CVE-2022-24124
为什么只有4个库,这个库名为7位,查库时的第5个库和第4个库的第8位开始所有字母都报错,由此推出只有7位,下边查表、查列一样。复制出来,Flag:flag{73a62ab4-b564-441e-8f6d-3b7806242c02}salmap和手工注入都不行,使用substring()依次类推得出数据库有7位,数据库名为:casdoor。攻击类型选择,集束炸弹-多个paload集合。(因为计算机是从0开始的,所以。第4个数据库第1个字母:c。第4个数据库第2个字母:a。第4个数据库第3个字母:s。
2024-11-24 17:38:35
1008
原创 CVE-2022-26201
访问img/上传的php文件名 /flag,得到flag:flag{a71683b4-9a2d-4288-b8f3-25d10816b1c0}里面有个Add Users,访问一下,能创建用户,有个能上传图片的地方。蚁剑路径为img/shell.php,编码器为base6,因为只能上传jpg形式的文件,所以更改文件后缀名为jpg。生成shell.php文件,木马是以base64的形式。普通的一句话木马无法访问flag,需要创建一个权限马。使用bp抓包,更改后缀为php,使用重放器发送。根目录下找到flag。
2024-11-24 17:34:45
366
原创 CVE-2022-4230
python sqlmap.py -r 1.txt(保存的文件名) -D atomcms(库名) -T flag(表名) --dump -v --batch。sqlmap -r 1.txt(保存的文件名) --batch -D wordpress(库名) -T flag(表名) --columns。Python sqlmap.py -r 1.txt(保存的文件名) -D wordpress(库名) --tables --batch。并在下面的URL中使用它,该URL将延迟5s。使用sqlmap,爆数据库。
2024-11-24 17:31:24
530
原创 [SCTF2019]Flag Shop
外部的 ENV["SECRET"].match(...):接着,将从 params[:SECRET] 中提取出的字符串作为参数,再用它去匹配环境变量 ENV["SECRET"]如果 ENV["SECRET"] 中能找到与从 params[:SECRET] 提取出的字符串相匹配的部分,那么这个 match 操作就会返回一个 MatchData 对象(表示匹配成功),此时整个 if 条件判断就为真,会继续执行后续位于这个 if 条件判断内部的操作,也就是输出 ENV["FLAG"]得到密钥,再构造一下jwt。
2024-11-17 20:28:43
650
原创 [N1CTF 2018]eating_cms
具体来说,它首先通过 cat 命令读取位于 ./upload_b3bb2cfed6371dfeb2db1dbcceb124d3/ 目录下的指定文件(由 $filename 指定)的内容,可以利用文件名代码执行。在这段代码中parse_url函数,如果访问的路径不对,可以绕过这个函数的判断,返回想要的结果。随便上传一个文件,抓一下包,更改filename地方的参数为我们想执行的命令。结束上一个命令,使用#注释后面的命令,使结果回显为想要查看的内容。只有个登录框,其他什么都没有,尝试了一下弱口令,没能成功。
2024-11-17 20:24:13
998
原创 [FireshellCTF2020]Caas
第一种,链接器可以和其他的可重定向文件或者其他的so链接,产生一个新的对象文件;第二种就是通过动态链接的方式,将so和其他的so或者其他的可执行程序链接形成一个新的程序镜像。回头又去看了一眼预处理那个文章发现,我们需要得到的flag,肯定是后来出题人创建的,所以我们使用””包裹/flag试一下。可重定向文件就是可以用于和其他对象文件链接来创建一个可执行或者可分享对象(so)。下边那行浏览器搜索了一下是一个C语言的报错,说明应该是个编译C语言的程序。可执行文件,简而言之就是可以运行的文件。
2024-11-17 20:18:22
270
原创 [BSidesCF 2019]SVGMagic
ENTITY file SYSTEM "file:///etc/passwd" > 定义一个外部实体 file任意文件读取,读取/etc/passwd用户配置文件。当你访问 /proc/self/cwd/ 时,你实际上是在查看当前进程的工作目录。/proc/self:它是指当前正在访问该路径的进程自身。无论哪个进程访问 /proc/self,它总是指向调用者进程的 /proc/[pid] 目录。/proc 文件系统:它是一个虚拟文件系统,提供了运行时系统信息,如进程信息、内存状态、系统配置等。
2024-11-17 20:14:18
549
原创 BUUCTF-[MRCTF2020]Ezaudit 1
不知道为什么这个脚本算出来的私钥一直都是假的私钥,找了好久也没有找到一个能够正确算出私钥的脚本,这个脚本也是源码里面给的,可能是种子不对吧,尝试过逆推种子,但是计算量太大,逆推不出来,找官方的wp也没有找到。不知道为什么这个脚本算出来的私钥一直都是假的私钥,找了好久也没有找到一个能够正确算出私钥的脚本,这个脚本也是源码里面给的,可能是种子不对吧,尝试过逆推种子,但是计算量太大,逆推不出来,找官方的wp也没有找到。访问解压得到index.php,打开就是源码访问解压得到index.php,打开就是源码。
2024-11-10 17:34:04
644
原创 BUUCTF-[b01lers2020]Life on Mars 1
这两种一个是获取当前数据库命称,一种是使用information_schema.schemata表中的schema_name列来获取数据库名称,回显出来的数据的名称是不一样的,建议以后查找其他数据库,默认使用 union select group_concat(schema_name) from information_schema.schemata,来节省时间。在查库名这里有个坑,查出来的这个库中的所有表和字段信息都没有flag的,当时一个一个查,查出来的东西都没什么用,废了好长时间。
2024-11-10 17:30:26
269
原创 BUUCTF-[CSAWQual 2019]Web_Unagi 1
在 UTF-16 编码下,XML 文档中的字符表示方式发生了改变。waf在处理 UTF-16 编码的 XML 时,无法正确解析或识别外部实体引用,从而让包含恶意外部实体的 XML 文档得以通过。定义文档类型为users,并在其中定义了一个实体xxe,通过SYSTEM关键字指定其值从本地文件系统的/flag文件中读取。,如果这个 XML 被解析,会尝试读取 /flag 文件的内容并显示在这里。给了一段xml文档,尝试在xml文档中添加xxe注入攻击,新建一个xml文档。再上传就能绕过waf,得到flag。
2024-11-10 17:26:12
297
原创 BUUCTF-EasyBypass 1
一个文件包含类型的题,给了两个可包含的参数 comm1和 comm2,给了一堆的正则过滤,源码也已经给了flag就在/flag中,接下来就需要绕过正则过滤了。得到flag:flag{edc180fc-e4dc-488d-a1f4-508134eeb65c}加个""可以确保某些特殊字符,如;符号和tac被过滤掉了,所以我们使用comm1文件包含。在最后一段可以看到已经执行了一个命令,所以我们需要使用;过滤了flag,我们可以用fla?过滤了cat,我们可以用tac代替。打开题目,就给了源码。
2024-11-10 17:23:26
426
原创 October 2019 Twice SQL Injection
在第一次进行数据库插入数据的时候,使用了 addslashes 、get_magic_quotes_gpc、mysql_escape_string、mysql_real_escape_string等函数对其中的特殊字符进行了转义,但是addslashes有一个特点就是虽然参数在过滤后会添加 “\” 进行转义,但是“\”并不会插入到数据库中,在写入数据库的时候还是保留了原来的数据。在下一次进行需要进行查询的时候,直接从数据库中取出了脏数据,没有进行进一步的检验和处理,这样就会造成SQL的二次注入。
2024-11-03 21:53:41
200
原创 [HarekazeCTF2019]encode_and_encode
从里边大致可以得到本题是需要利用php://filter伪协议来读取文件的,需要绕过is_valid()这一检测函数,我们可以用json编码数据中的一个小Trick来绕过。//如果直接返回明文Flag则会替换掉Flag中的内容 -> 这里很明显需要对返回的内容进行加密,不难想到利用php://filter中的流控制器进行数据编码。//对body内容进行过滤检测、检测json中是否存在page参数 -> 意味着我们的payload应传递给page参数。//输出content中的内容,即输出文件内容。
2024-11-03 21:51:20
498
原创 [NCTF2019]SQLi 1
flag.php啥也没有,访问hint.txt,发现有过滤和得到flag的条件,如果passwd的值等于admin的密码则登录成功,但是admin也被过滤了。可以用正则匹配,匹配passwd来进行盲注,匹配任何以"^ "开头的字符串(因为是正则匹配,所以需要限定字符串开头,否则在字符串中找到也会算为真)看到查询成功会跳转到welcome.php,这样一来就要获得admin账户密码了,构造成功登录是不行的。没有过滤 \,过滤的空格可以替换为%09,末尾多出的'可以用%00代替。打开题目,是一个登录框。
2024-11-03 21:48:49
656
原创 [红明谷CTF 2021]write_shell
得到当前目录后,过滤了空格,可以用\t代替,过滤了'php'可以用短标签<?>代替,反引号在php中有执行命令的效果,然后利用通配符 '*' 模糊搜索目录下的文件。发现action为pwd时,会打印当前的目录路径;action为upload时,会上传数据到目录路径下的index.php中,并且会对上传的数据进行检查。写入后直接访问路径下的index.php便会执行我们upload的php命令语句,最终会执行<?=`cat /*`?有正则匹配,过滤了空格,'_','php','eval''{','}'
2024-11-03 21:43:57
357
原创 [NCTF2019]Fake XML cookbook
XML(Extensible Markup Language)意为可扩展性标记语言,XML 文档结构包括 XML 声明、文档类型定义(DTD)、文档元素。--定义name元素为“#PCDATA”类型-->--定义mail元素为“#PCDATA”类型-->,用于读取 /etc/passwd 文件,然后通过 &--定义age元素为“#PCDATA”类型-->--定义people元素有3个元素-->打开题目,只有一个登录框,尝试爆破无果。--文档类型定义-->--XML声明-->
2024-10-27 18:36:03
251
原创 [BUUCTF 2018]Online Tool
最后执行的命令是curl '172.17.0.2'\\'' -v -d a=1\',由于中间的\\被解释为\而不再是转义字符,所以后面的'没有被转义,与再后面的'配对儿成了一个空白连接符所以可以简化为curl 172.17.0.2\ -v -d a=1',即向172.17.0.2\发起请求,POST 数据为a=1'。经过escapeshellarg处理后变成了'172.17.0.2'\'' -v -d a=1',即先对单引号转义,再用单引号将左右两部分括起来从而起到连接的作用。3、用户不能执行不同的命令。
2024-10-27 18:33:54
360
原创 [BJDCTF2020]ZJCTF,不过如此
e模式下的preg_replace可以让第二个参数'替换字符串'当作代码执行,但是这里第二个参数是不可变的,但因为有这种特殊的情况,正则表达式模式或部分模式两边添加圆括号会将相关匹配存储到一个临时缓存区,并且从1开始排序,而strtolower("\1")正好表达的就是匹配区的第一个(\\1=\1),从而我们如果匹配可以,则可以将函数实现。就变成preg_replace('/(' .* ')/ei','strtolower("\\1")',{${phpinfo()}});[\s]表示,只要出现空白就匹配。
2024-10-27 18:31:17
410
原创 [BJDCTF2020]The mystery of ip
PHP的Twig模版注入漏洞,Smarty模板的SSTI漏洞(附ssti注入模板图片连接https://img2020.cnblogs.com/blog/1344396/202009/1344396-20200911174631687-758048107.png)在flag.php中有IP,题目翻译过来就是ip的奥秘,推测有x-forword-for注入,抓一下包。目录扫描,扫出来DS_Store、flag.php、header.php,被成功执行,XFF可控,代码是php代码,访问flag.php。
2024-10-27 18:26:17
273
原创 shctf [Week2]遮遮掩掩?CCRC!
每个文件都有唯一的CRC32值,即便数据发生很微小的变化,都会导致CRC32的值变化。假设知道段数据的长度和CRC32值,那么便可穷举数据,与其CRC32的值比较匹配,这样就可以达到暴力破解的目的。·CRC(Cyclic Redundancy Check)校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。因为压缩包软件显示的文件CRC值不可复制,所以手抄比较麻烦,而且容易出错,所以使用脚本和获取比较方便。可以看到大小都为3bit,题目提示CCRC,CRC爆破。
2024-10-21 08:34:09
924
原创 2024年NSSCTF秋季招新赛(校外赛道)从千年真理部到游戏开发部day1
下载是一个压缩包,解压后是另一个需要密码的压缩包和一串编码。解码没有解出来,尝试了一下base64转图片,得出flag。解包又得到一大串base64编码。
2024-10-14 09:58:05
446
1
原创 2024年NSSCTF秋季招新赛(校外赛道)php躲猫猫
主要就是使用GET传参和POST传参,用GET传参的方式使CTF和ATM的值不相等但是MD5需要相等,相等后会包含NSS文件,f1ag在NSS文件中,再使用POST传参的方式,读取一下NSS文件中的f1ag。// 如果$ATM和$CTF的MD5值相等(即触发了MD5碰撞),执行下面的代码。// 如果$NSS的值等于'I love CTF',输出$f1agfile变量的内容。// 获取GET请求中名为'CTF'的参数并赋值给$ATM。// 如果$CTF与$ATM不相等,继续执行下面的代码。
2024-10-14 09:53:17
917
原创 [HFCTF2020]EasyLogin 1
Koa-static正是为此目的而设计的,它是一个简洁且强大的Koa框架静态文件服务中间件,使得处理静态文件变得轻而易举。"secretid": [], #让"secretid"为空,他的加密算法就为空,所以那个加密就废了,也算是绕过jwt的一种方式。查看页面源代码,发现app.js中显示,访问/api/flag,如果成功,则把flag的值以username的形式返回出来。然后使用随便注册的账号登录获取下flag,把原包中的改成上一步的就可以获得flag了。然后改包发送,箭头指的地方有用需要保存。
2024-09-30 10:03:20
489
原创 [watevrCTF-2019]Cookie Store
买flag cookie需要100$,初始给的只有50$,很明显钱是不够的,先随便买一个1$的看看。多了一个美味的曲奇饼干,尝试修改cookie,我们在请求包中加入Flag Cookie再访问一下。可以看到请求包和返回包中的cookie session中有一段字符串像是base64,解码一下。把返回包中的cookie session中的字符串解码一下得到flag。购买Flag Cookie发包,修改请求包中的cookie值。返回的结果连cookie session的值都没了。
2024-09-30 09:21:41
410
原创 [Zer0pts2020]Can you guess it? 1
_SERVER['PHP_SELF']会获取我们当前的访问路径,并且PHP在根据URI解析到对应文件后会忽略掉URL中多余的部分,即若访问存在的index.php页面,如下两种UR均会访问到。接下来构造URI让其包含config.php这个文件名再让basename函数截取出来,之后通过请求参数source就能显示config.php的源码,也就能得到flag了。但是hash_equal函数没有漏洞也没有错误,没办法从这里入手。截取$_SERVER['PHP_SELF'],本题的利用点也就在此处。
2024-09-29 21:15:37
859
原创 [FBCTF2019]RCEService 1
意味着我们无法直接去调用cat等命令,因为这些命令实际上是存放在特定目录中封装好的程序,PATH环境变量就是存放这些特定目录的路径方便我们去直接调用这些命令,所以此处部分命令我们得使用其存放的绝对路径去调用(不知道这些命令在哪可以用whereis命令在自己VPS上查找)。里边有正则匹配,过滤了很多字符,但是可以注意到正则匹配表达式采用了^xxx$的格式,同时也采用了.*这样的贪婪匹配,所以可以利用%0a绕过。会匹配一个%0a,但多在payload前后加几个%0a就行了。查看一下发现没在根目录下。
2024-09-29 15:41:20
661
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人