
CTF
文章平均质量分 68
个人学习笔记
盖头盖
这个作者很懒,什么都没留下…
展开
-
【python中ssti模板注入】
类似于python 中的type方法。原创 2025-04-16 20:13:12 · 963 阅读 · 0 评论 -
【ssti模板注入基础】
为什么要用模板来提升效率:不管我们输入什么,有一部分内容都是不会变的除了内容之外其他都不会变,如果我们有成千上万的页面,如果不用模板,就算复制粘贴也是很大的工作量但是 有了模板之后,我们就可以把重复的内容写在模板里,当我们要写页面时,只需要把数据写进去就可以了MTV这种开发模式的核心就是达成一个前后端分离的效果,可以方便开发和移植,因为每个部分各司其职,就算模型坏掉了,只需要对模型就行修改即可。原创 2025-04-16 20:12:31 · 418 阅读 · 0 评论 -
【ssrf漏洞waf绕过】
(1)扫描内部网络利用多线程脚本去fuzz可用的端口或者服务。(2)向内部的任意主机和任意端口发送精心构造的数据包。举个例子(soapclient类+crlf漏洞给内网发送任意数据包利用http攻击redis)(3)wordpress开启xmlrpc利用pingback.ping方法造成ddos漏洞。或者请求大文件,始终保持连接keep-alive always(4)利用协议进行暴力穷举(5)如果不知道一个cms是什么cms,让服务端去访问自己所处内网的一些指纹文件来判断是否存在相应的cms。原创 2025-04-05 09:17:55 · 863 阅读 · 0 评论 -
【 ssrf基本介绍与原理】
是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。。很多Web应用都提供了从其他服务器上获取数据的功能。使用用户指定的URL,Web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地服务器。原创 2025-04-05 09:17:25 · 618 阅读 · 0 评论 -
XML实体注入漏洞攻与防
xxe攻与防原创 2025-01-25 19:12:44 · 450 阅读 · 0 评论 -
XXE漏洞
在中第一行 定义了book标签拥有的子元素为:title、author、date、categoriesDTD也可以作为远程的调用,我们把里面的内容单独写到book.dtd文件,那么这个dtd文件就成为了,合法的xml的构建模块,我们使用就能调用模块,一般情况下ststem 会去调用一些协议,例如http,但是如果在同一个目录下直接调用也是可以的,正因为支持远程调用,就会达到一个远程读取文件的效果。原创 2024-11-22 17:25:09 · 361 阅读 · 0 评论 -
【命令执行waf绕过】
打包后我们之间下载压缩包就能得到flag。原创 2024-11-06 20:45:37 · 387 阅读 · 0 评论 -
【命令执行基本介绍】
通过在后面添加分号来执行我们需要的命令: -发现利用点后,利用find -name "flag*"去找文件名带有flag的文件:用cat读取文件:成功执行:假设我们这里有一个test文件,我们把他压缩后,文件个格式变成了打包的文件我们直间执行就发现他成功执行了我们需要的内容:我们就可以通过先把传进去的文件打包在用php命令去执行:create_function:用法:然后我们看到action那有个arg,这个arg其实就是函数体,我们可以通过改写这个函数体,因为创建原创 2024-11-04 12:08:06 · 132 阅读 · 0 评论 -
【sqlmap使用】
注意sqlmap在使用过程中可能会出现几个需要输入的参数y/n, 按照下面的输入就可以。测试注入点,检测到注入点后,直接爆数据库名。原创 2024-11-03 17:07:37 · 207 阅读 · 0 评论 -
【str_replace替换导致的绕过】
双写绕过,str_replace只会执行一次替换反斜线绕过,因为后台程序没有转义反斜线\, 可以通过输入一个反斜线\,转义反斜线\对于str_replace替换导致的安全问题远不止这些,把union替换为i也会导致绕过。原创 2024-10-19 21:39:04 · 691 阅读 · 0 评论 -
【into outfile写文件】
用法的意思就是把user表中查询到的所有字段都导出到1.txt文件中我们之前还有学到dumpfile,单是它只能导出一条数据。原创 2024-10-19 17:40:23 · 380 阅读 · 0 评论 -
【load_file读文件】
load_file等读文件的函数受到secure-file-priv 选项的限制,能不能使用load_file进行注入,要看这个选项的配置文件路径不能使用反斜线\,要使用斜线/原创 2024-10-15 22:16:24 · 1032 阅读 · 0 评论 -
【已知当前表字段名注入】
有的题,不一定是去获取数据库里面的数据,而是绕过登陆,比如万能密码之类like regexp 不能区分大小写strcmp使用的是ascii值,就避免了大小写的问题,相对于刚才的通配符,结果更准确。原创 2024-10-15 11:20:34 · 308 阅读 · 0 评论 -
【未知列名注入】
已经拿到库名,表名;在拿列名的时间,column_name或者columns被过滤,不能适用columns表来拿到列名。当然在column_name,columns等没有被过滤的情况下,也可以适用,只不过稍微麻烦点Union 主要适用于有回显位的情况,Using适用于报错的情况,因为using是通过报错信息,把列名信息带出来的。原创 2024-10-13 20:08:48 · 461 阅读 · 0 评论 -
【等号绕过】
上面的<>是不等于的意思开始猜测库名 使用Burp的intruder模块进行爆破,下面的!原创 2024-10-13 17:26:36 · 237 阅读 · 0 评论 -
【逗号绕过】
所以为了避免逗号被过滤,我们来看看如何绕过叭。原创 2024-10-13 16:16:40 · 783 阅读 · 0 评论 -
【空格绕过】
这里我们在admin’ 后面加上一个空格发现被过滤了:测一下列数,这里没有正常输出,说明没有5列:我们前面说过,再测回显位的时候要让前面的id等于数据库中不存在的值,我们改成1,回显了2,说明回显列在第二位,后面就是正常操作拿数据:空格绕过里的%0b、%0c、%0d这些都是可以绕过的。原创 2024-10-11 08:58:17 · 508 阅读 · 0 评论 -
【宽字节注入】
【代码】【宽字节注入】原创 2024-10-10 19:12:29 · 741 阅读 · 0 评论 -
【exp报错注入】
23是加号的意思这里的意思是709+4,那么为什么要把+号编码呢?我们看到上面payload里的。这里我们是从大到小猜的,原创 2024-10-09 15:31:37 · 1032 阅读 · 0 评论 -
【基于时间的盲注】
payload。原创 2024-09-27 22:58:23 · 292 阅读 · 0 评论 -
【基于布尔的盲注】
我们看一下用法1里面的str就是我们需要截取的字符,pos是需要截取的位置,len是我们需要截取的长度,例如右边的意思就是截取’123456’从第一位开始截取,截取两位,到2为止,用法2里少了一个len,它就会默认从截取的位置开始,一直截取到最后一位:我们看到用法里的因为1小于2不满足1大于2,于是呢就返回0:下面右边的例子中database()为web,执行后正确返回了web数据库名三个的长度:我们来看一下这道题:我们先输入1返回了user:加上单引号看看有没有sql注入,结果什么也没有:原创 2024-09-27 21:20:15 · 697 阅读 · 0 评论 -
【floor报错注入】
向下取整。原创 2024-09-27 19:44:19 · 1294 阅读 · 0 评论 -
【extractvalue报错注入】
我们试着用mysql操作一下使用上述命令就可以提取出admin这个数据我们刚刚人数的 Extractvalues 是提取数据,Updataxml是替换数据前两个参数和我们的 Extractvalues 是一样的,第三个参数填写我们要替换的数据我们来测试一下:我们可以看到username元素里面的admin就被成功替换成了123456上图中的payload 我们通过在extractvalue函数里的第一个参数随便填,第二个参数里填入我们要执行的sql查询语句,这里的concat是必要的,如果缺少c原创 2024-09-25 16:49:25 · 1110 阅读 · 1 评论 -
【union联合查询注入】
我们通过下面的图可以发现有没有order by 查询的排序是不一样的,order by 起到了一个排序的作用。如果我们加上了desc,就会起到一个降序的作用:如果我们加上一个3,发现查询结果和最初的比起来没有变化,这个三呢代表的就是我们的第三列:在sql注入中,我们可以用order by来判定表的数量,例如我们可以用order by 来排序第4行:我们发现出现了一个错误,那么意味着如果order by 排序的列大于了表中列的数量就会报错。原创 2024-06-30 21:36:45 · 755 阅读 · 0 评论 -
【数字型和字符型注入】
上面的查询过程有一个username表,数据库会先把所有数据都取出来,第一步里面取出来了两个数据分别是amdin和guest接着,把我们要查询的字符和数据库里面的字符进行对比,先用admin 和 传入的 admin进行对比,结果是为真,接着是拿guest 和 admin 进行对比,结果为假,那么返回的只有 admin 这一行的数据。服务器返回了数据库内所有的数据,因为我们上的语句用了or那么意味着,不管我输入的账号对不对,因为1=1所以服务器匹配到的数据都为真,那么就输出了所有的数据。原创 2024-06-28 20:41:31 · 501 阅读 · 0 评论 -
【文件上传waf绕过练习】
【文件上传waf绕过练习】原创 2024-06-17 20:57:56 · 1270 阅读 · 0 评论 -
【文件上传基本原理讲解】
我们可以看到upload先获取了file的变量,再获取了小写后的文件名获取后缀,匹配文件名后缀是不是.php,如果是就返回false,然后再设置上传限制。原创 2024-05-31 21:01:20 · 337 阅读 · 0 评论 -
【文件包含中的伪协议】
php.ini 中的两个重要选项PHP 中几个比较重要的伪协议:php://input 协议还可以用来生成一句话木马,这里假设我们用的之前的直接包含的php代码:这是一个文件上传的页面可以上传一个文件上去上传后发现失败了,那就说明不是文件上传的题目,我们在url地址栏发现了一个op参数和一个key参数,我们用文件审查查看一下源代码点开后,看到一个op的参数,看到这个好参数我们会想到可能存在文件包含,比如我们改成upload就变成了上传文件的页面,这里我们可以猜到通过op的参数包含不同的文件原创 2024-05-15 18:21:54 · 1753 阅读 · 0 评论 -
【文件包含漏洞基本原理解析】
可以看到我们的test被存储到session文件中,利用这点我们可以向session文件中写shell,通过包含session文件来getshell。文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制包含其他的恶意文件,导致执行了非预期的代码。当我们向filename传入路径文件时,由于这个文件是纯文本,服务器会向我们输出文件里面的内容。根据cookie中的session值,我们就可以找到服务器上的session文件。参数没有经过严格的过滤,直接带入了include函数,攻击者可以修改。原创 2024-05-03 17:54:53 · 202 阅读 · 1 评论 -
【Git与DS_store信息泄露】
打开官网,根据需求下载对应文件,下载后打开安装直接点Next即可GitHack的下载利用Git泄露的脚本不止你这一个,这里以这个为例,其他脚本使用教材大同小异下载地址。原创 2024-04-30 18:55:05 · 1208 阅读 · 0 评论 -
【php弱类型的特性】
php弱类型的特性原创 2024-04-30 16:55:28 · 616 阅读 · 3 评论 -
【linux讲解及其基本命令讲解】
常用的指令原创 2024-04-30 15:17:06 · 601 阅读 · 1 评论