- 博客(44)
- 收藏
- 关注
原创 BUUOJ.CN流量分析--9
简单说,这段逻辑是:“从 wfy_comments 表的 id=100 记录中,取 text 字段的第 1 个字符,判断是否是 w ,是就返回 100,否则返回 0” ,本质是攻击者在尝试逐字符“猜解”数据库内容(典型的 SQL 注入手段,通过构造条件判断,逐步获取数据)。2.过滤http协议,得到。
2025-06-18 09:30:25
320
原创 BUUOJ.CN流量分析--8
它是 TLS 握手过程中协商出的“会话密钥”日志(比如 TLS 1.3 的 CLIENT_TRAFFIC_SECRET / SERVER_TRAFFIC_SECRET 这类),作用是让抓包工具(Wireshark 等)能解密 TLS 流量。- 存的是加密/签名用的私钥(比如 RSA、ECC 私钥),是证书/加密体系的核心机密,直接用来做密钥交换、签名,文件里是私钥的编码(如 PEM、DER 格式)。看到了一个叫sslkey.log的文件,但是sslkey.log的文件与我们的私钥文件是不同的。
2025-06-17 20:59:35
397
原创 BUUOJ.CN流量分析--7
再来过滤一下6666.jpg文件并追踪流,我们得到了下图所示内容,JPG图片的16进制文件头(文件签名)最前面几个字节通常是FF D8 FF,通过这个我们就知道把这张图片的16进制数据存起来放到16进制编辑器中,保存为.jpg文件。观察到有几个文件,再来过滤一下有关于flag的内容,追踪流后也没有得到什么信息。用刚刚图片得到的密码打开zip,得到flag.txt中的内容即为flag。是一个密码,但是不是flag,那猜测用到密码的地方可能是压缩包。再来过滤一下zip,追踪流看到一个6666.jpg。
2025-06-17 18:04:45
181
原创 BUUOJ.CN流量分析--6
得到如图所示内容,这条base64编码的内容需要经过两次解码才能得到flag(第一次遇到这种情况)得到的flag为flag{Wri35h4rk_1s_u53ful_b72a609537e6}追踪流后发现响应的结果都是404 Not Found。我们对图片中颜色显示不同的那条数据追踪流。2.先尝试看看有没有flag的直接信息。3.那我们再来看看一些响应成功的内容。
2025-06-17 10:59:58
104
原创 BUUOJ.CN 流量分析--5
TLS加密依赖公钥-私钥体系:服务器用私钥解密客户端加密的数据,客户端用服务器公钥加密数据(实际是混合加密流程,包含对称密钥交换等,但私钥是关键解密凭证 ,这个地方我会会开新的一篇文章)。- 作用:文件传输协议,分 FTP Data (数据连接,传文件内容 )和 File Transfer Protocol (控制连接,传命令如登录、下载 )。5.了解了各个协议之后,其实发现都有可能会存有私钥的信息,那我们还有其它办法,就是刚刚协议分级得到的信息,可以看到FTP协议的占比最大。
2025-06-17 10:03:37
589
原创 BUUOJ.CN流量分析--4
/admin.bak.php :请求的资源路径,指向服务器上的 admin.bak.php 脚本文件,“ .bak ” 通常是备份文件后缀,可能是开发/遗留的敏感文件。- b=phpinfo() : phpinfo() 是 PHP 内置函数,会输出服务器 PHP 环境详细配置(版本、扩展、配置路径等敏感信息 ),常被攻击者用来收集环境情报。a=assert&b=phpinfo() :URL 参数,传给 admin.bak.php 的参数。
2025-06-17 10:02:28
222
原创 BUUOJ.CN流量分析--3
IMAP(互联网消息访问协议):用户可在本地设备管理服务器上的邮件,如同步邮件状态、文件夹操作等,邮件会保留在服务器上,方便多设备同步。- MIME(多用途互联网邮件扩展):扩展了SMTP的功能,使邮件能支持图片、音频等多媒体内容,就像给邮件增加了更多“格式选项”。- POP3(邮局协议第3版):允许用户从邮件服务器下载邮件到本地设备,下载后通常会从服务器删除,适合偶尔查看邮件的场景。- SSL/TLS:用于加密邮件传输过程,保障邮件内容安全,防止信息泄露,类似给邮件加上“安全锁”。
2025-06-16 22:15:26
314
原创 BUUOJ.CN 流量分析--2
我们Bytes那一列设置成从大到小排列,出现了一个非内网的ip,183.129.152.140,把它套上flag提交,结果正确。(这里,其实我也打开了三个其它的流量包尝试,按Bytes排序没发现这个ip,说明如果在前几位找不到的话就应该换流量包查看了,当然仅针对题目中的这一情况)或者用另一种方法,统计->IPv4 Statistics->All Addresses。Count倒序排列,找到183.129.152.140,即为答案。2.随便打开一个流量包(可能需要打开多个才能发现)
2025-06-15 19:28:47
167
原创 BUUOJ.CN 流量分析--1
针对不同协议,“追踪流”会以相应的格式展示数据,有助于分析协议的执行过程和数据流向。以TCP协议为例,能清晰看到三次握手、数据传输以及连接释放等过程中的数据包内容和交互顺序,便于发现协议执行过程中的异常情况。通过查看特定流中的数据包,能判断是否存在数据丢失、重复、错误等情况,以及分析应用层数据是否存在异常,从而快速找到故障原因。- 可以从追踪的流中方便地提取出关键信息,如HTTP流中的URL、POST数据,或SMTP流中的邮件内容等,为进一步分析和调查提供依据。
2025-06-10 13:42:21
180
原创 Pikachu靶场-SSRF
若服务端用 curl 处理用户可控的 URL ,攻击者可构造 dict://127.0.0.1:3306 (探测 MySQL 端口 )、 gopher:// (构造复杂协议请求 )等,借服务端权限扫描内网端口、攻击未暴露的内网服务(如Redis未授权访问配合 curl 可写 Webshell )。- curl :一套开源的网络请求库/工具,支持 HTTP、HTTPS、FTP 等多种协议,常被编程语言(如 PHP 里的 curl_exec 函数 )用来在服务端发起远程请求,比如获取网页内容、调用接口。
2025-06-04 18:29:27
553
原创 Pikachu-不安全的url跳转
3.是写在了前端,打开我们的web开发者工具,把href属性当中,url=https://www.baidu.com,这样当我们再次选择是什么类型的人的时候就会跳转到百度了。判断 $cat 的值是否等于 dog ,如果满足条件,就输出 Syc{cat_cat_cat_cat} 这段文本。2.查看一下网页源代码,看看跳转页面是不是写在了前端代码中,如果是的话,那我们就可以修改让它跳转到其它界面了。我们在url中构造?cat=dog就能得到flag了,感觉这个题目与这个不安全的url跳转相似。
2025-06-04 17:14:34
153
原创 Pikachu靶场-XXE
ENTITY 实体名 SYSTEM "file:///etc/passwd"> ,会让 XML 解析器加载外部内容。XXE(XML External Entity Injection,XML 外部实体注入)漏洞,是指当应用程序解析 XML 输入时,因未正确限制外部实体加载,攻击者可构造恶意 XML 内容,利用外部实体实现非法操作的安全漏洞。ENTITY 实体名 "实体值"> ,仅能引用文档内内容。XML 是用于标记、存储数据的语言,支持定义实体(Entity),作为“快捷引用”。
2025-06-04 16:44:41
194
原创 Pikachu靶场-PHP反序列化漏洞
unserialize($s) :尝试把 $s 里的字符串(需是合法 PHP 序列化格式,比如 O:1:"S":1:{s:4:"test";反序列化成功时( $unser 是有效的对象/数组 ),假设反序列化得到的是对象,且对象有 test 属性,就把 $unser->test 的值拼接到 $html 里,后续可能会输出到页面显示。反序列化失败时,往 $html 变量里拼接一段提示文本,告诉用户“传的数据格式不对,整点能反序列化的”。$html.="<p>大兄弟,来点劲爆点儿的!
2025-06-04 16:00:26
237
原创 Pikachu靶场-目录遍历/敏感信息泄露
1.分别点击一下we're jarheads和Truman's word!观察url的变化,发现我们访问的内容是由title参数传递的,那我们就可以随意的构造url后面的参数去查看其它的文件了,但是这里有一个问题,这个靶场在我们的本地,我可以知道路径,那如果我不知道呢,只能慢慢手动尝试了吗?除了这样还有什么其它获取文件夹下文件的信息吗?2.可以通过报错的信息了解到目录的信息。
2025-06-04 09:29:45
150
原创 Pikachu靶场-Over Permission
3.登录普通用户,用web开发者工具来查看一下pikachu的cookie,将pikachu的cookie放到我们刚刚repeater的地方,修改一下添加用户的信息,,send后查看我们pikachu能看到的用户表,这样我们就实现了垂直越权。简单说,就是没把“当前登录用户”和“要查询的用户”做权限绑定,导致任意用户能查别人信息,修复需增加“登录用户与查询用户一致”的校验。- 定义:指不同级别用户之间的权限越界,通常是低权限用户获取了高权限用户的权限,进而访问或执行高权限用户才能访问或执行的操作。
2025-06-04 08:48:08
891
原创 Pikachu靶场-MIME type/getimagesize
在网页中,服务器通过在HTTP响应头中设置 Content - Type 字段来告知浏览器返回数据的MIME type,浏览器根据这个信息来决定如何处理和显示数据。1.上传一个一句话木马文件.php后缀的,用burpsuite拦截,修改content-type(拦截到的包中有两个Content-Type,我们修改第二个即可)为图片形式,forward后,我们根据提示路径在蚁剑中连接即可。例如,text/html 中,text 是主类型,表示文本数据, html 是子类型,具体说明是HTML格式的文本。
2025-06-03 22:06:20
308
原创 Pikachu靶场-Unsafe Fileupload(client check)
一是在上传环节,前端验证易绕过,后端对文件类型、格式检测不严格,像仅靠文件后缀或MIME类型判断,攻击者能通过改后缀、伪装类型等骗过检测,上传恶意脚本文件(如.php )。二是在解析环节,Web服务器(如Apache、IIS等 )存在解析规则漏洞,会把恶意文件名误当成可执行脚本解析,或者攻击者能利用.htaccess文件篡改解析规则,让恶意文件得以执行。1.提示我们只能上传图片,先上传一个非图片文件,提示我们"上传的文件不符合要求,重新上传”;可以看到前端通过文件的扩展名判断上传的文件是否为图片文件。
2025-06-03 12:33:51
143
原创 Pikachu靶场-Unsafe Filedownload
filename=xx.png" >xxx</a>,表明这是将文件名直接作为参数传递给execdownload.php脚本,如果execdownload.php脚本没有对filename参数进行严格的校验和过滤,那么我们就可以通过修改这个参数来指定下载服务器上其它目录的文件。在这里我把本来要下载的图片改成了execdownload.php,再点击下载人物名字的蓝色的字,下载的就是我们想要的文件了!如果是真实的环境中,这样尝试还是挺耗时的,或许可以写脚本,来不断下载寻找有用的文件。
2025-06-03 11:57:26
204
原创 Pikachu靶场-file inclusion(local/remote)
当应用程序没有对用户输入的文件路径进行充分的验证和过滤时,攻击者就可以通过构造恶意的文件路径,让应用程序包含并执行攻击者指定的文件,从而导致安全问题。参数 filename=include%2Ffile3.php 表明程序通过 filename 参数接收文件路径并尝试包含文件( %2F 是URL编码的“/”),符合文件包含漏洞的典型参数传递模式。在允许远程包含文件的情况下,攻击者通过构造URL,让服务器包含并执行远程服务器上的恶意文件。其实这样做,我没感受到“远程”,之后有了新的想法再做补充。
2025-06-02 22:05:02
146
原创 Pikachu靶场-exec“ping“/exec“evel“
查看win.ini文件(存储有Windows系统的配置信息)的内容:127.0.0.1 && type C:\Windows\win.ini。本关的源代码中没有对输入框中传入的内容进行处理就传入了shell_exec()函数执行,所以我们可以采用拼接的方法来获取一些信息。这个函数的主要作用是输出当前PHP环境的详细信息。URL地址是我们当前的URL,把后面的php文件改为shell.php即可。-查看当前路径下的文件:127.0.0.0 && dir。用蚁剑连接,把蚁剑连接时的的编码器改为base64。
2025-06-02 20:51:45
269
原创 Pikachu靶场-宽字节注入
当 %DF (单字节)与 %5C (单字节)相邻时,GBK 会将两者视为一个双字节汉字(即 %DF%5C 对应汉字“連”的编码,示例中可能为其他字符,取决于编码表)。- %df' 被转义为 %df\' ( addslashes() 添加 \ ),此时十六进制字节为 %DF%5C ( \ 的十六进制是 %5C )。输入 id=-1%df' ( %df 是十六进制字节,GBK 中代表半个汉字,需与后续字节组合成完整字符)。- 漏洞点:单引号成功闭合,后续可拼接恶意 SQL。
2025-06-02 19:28:41
317
原创 Pikachu靶场-base on boolian/base on time
1.在输入尝试kobe,kobe',kobe' and sleep(5) #,发现在输入kobe' and sleep(5) #的时候,回显时间明显变长,说明我们的命令被执行了。输入kobe有正常回显,输入kobe'显示用户名不存在,输入kobe'#有正常回显,判断为单引号闭合方式。或者使用sqlmap,我的sqlmap有一些问题,等我解决了,再来补充这里。试到8显示username不存在,那么数据库的名称长为7。之后还是,查表,查列,查用户名和密码,再进行破解。2.判断数据库名称的长度。
2025-06-02 16:51:34
122
原创 Pikachu靶场-http header注入
查表名:' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='pikachu'limit 1,1),0x7e),1) or '(这个时候需要删除掉前面User-Agent本来的内容,否则会报错)3.查询当前数据库名称:' or updatexml(1,concat(0x7e,database()),0) or '之后找在线工具破解即可。
2025-06-02 15:22:09
196
原创 Pikachu靶场-delete注入
查用户名的密码:70 or updatexml(1,concat(0x7e,substring((select password from users limit 0,1),1,32),0x7e),1) 还需要编码再send。1.在删除留言板内容的时候用burpsuite拦截,观察数据包内容,看到它是通过传递留言的id,去删除留言的,推测可能是数字型注入。查询当前数据库名称:70 or updatexml(1,concat(0x7e,database()),0)2.构造payload。
2025-06-02 14:44:07
320
原创 Pikachu靶场-“insert/update“注入
查表名:' or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1) or'-当前数据库名Eira' and updatexml(1,concat(0x7e,(select database()),0x7e),1) or'- 需数据库开启错误回显(生产环境可能关闭)。
2025-06-02 12:17:49
661
原创 Pikachu靶场-xx型注入
查询数据库中的表名:kobe') union select table_schema,table_name from information_schema.tables where table_schema = 'pikachu' #-查询表中的列名:kobe') union select table_name,column_name from information_schema.columns where table_name='users' #1.尝试构造闭合,发现以括号的方式闭合。
2025-06-01 21:56:22
206
原创 Pikachu靶场-搜索型注入
在 SELECT * FROM table WHERE name = '%ko''' 中出现三个单引号是因为:原本的SQL语句中字符串 name 的值是用单引号闭合的,即 '%username%' 的形式。当输入 ko' 时,它被拼接到了SQL语句中,就变成了 '%ko''%' ,这里第一个单引号是原SQL语句中用于开始字符串的,第二个单引号是输入的 ko' 中的单引号,第三个单引号是原SQL语句中用于结束字符串的。此时数据库会因单引号未闭合报错,回显中可能出现 '% (或转义后的符号)。
2025-06-01 21:06:03
742
原创 Pikachu靶场-数字型注入post
查询表中的列名:union select TABLE_NAME,COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = 'pikachu' and TABLE_NAME = 'users'-查询数据库中的表名:union select TABLE_SCHEMA,TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = 'pikachu'
2025-06-01 19:46:37
232
原创 Pikachu靶场-字符型注入get
如 ' AND IF(1=1, SLEEP(5), 0) -- ,如果页面延迟了5秒响应,说明单引号可能是闭合点,因为注入的语句被成功执行, IF 条件为真,执行了 SLEEP 函数。例如,输入 ' OR 1=1 -- ,若原SQL语句执行结果发生改变,如返回了更多的记录,可能存在单引号闭合点。因为该语句通过单引号闭合了前面的字符串,然后利用 OR 1=1 使条件恒真, -- 注释掉后面的语句,从而改变了原SQL语句的逻辑。若返回的错误信息与SQL语法错误有关,如“未闭合的引号”等,可能存在相应的闭合点。
2025-06-01 19:42:39
455
原创 Pikachu-CSRF(get/post/Token)
观察我们两次拦截到的信息可以发现GET型,会把我们的请求直接放到url中,而POST型则把我们的请求内容放到了消息内部。4.拦截到的内容如下,我们修改其中的内容,比如说我们修改email为987654321。3.修改后的个人信息如图,先打开burpsuite进行拦截,再点击submit。这个功能仅能在Pro版本中使用,我用的是社区版,所以之后我再补充这里的内容吧。2.还是修改emali,最后得到的修改后的信息当中的emal,已被篡改。登录kobe的账号,修改信息,打开拦截抓包,submit。
2025-06-01 17:47:59
172
原创 Pikachu靶场-xss href输出
在输入框中输入javascript:alert(1),点击submit,打开web开发者工具,找到href属性,我们可知这又是一个类似于DOM型的内容,点击”阁下.......",可现实弹窗。安全风险:存在跨站请求伪造(CSRF)风险,攻击者可利用该属性加载恶意图片,诱导用户访问恶意链接;也可能被用于探测用户信息,比如通过加载不同域名下的图片,分析请求头获取用户相关信息。功能:指明图片资源的路径,浏览器据此加载并显示图片,路径可以是相对路径或绝对路径,支持多种图片格式如 .jpg 、 .png 等。
2025-06-01 15:31:42
115
原创 Pikachu靶场-xss htmlspecialchars
4.利用单引号没有被转换为html实体构造payload(我现在觉得这两种方法都是一个道理,构造这个payload,submit后,我们需要点击一下下方出现的内容,本质上还是利用了herf属性。在HTML中,一些特殊字符会被转换为HTML实体,以便在页面中正确显示而不被解析为HTML标签。1.输入框输入内容,要包含单引号和双引号,帮助我们判断怎么构造payload。这样的话我们利用的是与DOM型xss类似的手法,还有另一种可现实弹窗的方法。ENT_QUOTES:仅编码单引号。单引号 ' : '
2025-06-01 15:16:33
143
原创 Pikachu靶场-xss过滤
alert("xss")</script>,但是没有出现弹窗,观察回显内容可知,我们输入的js被过滤了。--test--> ript> alert(14)</scr <--test--> ipt>重写: <scri<script> pt> alert(14)</scri
2025-06-01 13:42:00
183
原创 Pikachu靶场-DOM型xss/DOM型xss-x
它主要是通过修改页面的DOM结构来注入并执行恶意脚本,而这些脚本并非来自服务器端的数据,而是源于用户的输入或页面本身的某些操作。- 寻找可利用的DOM节点:攻击者首先要找到目标页面中可被利用的DOM节点,这些节点通常是与用户输入相关的,比如 URL 参数、表单输入框等。- 对输入进行严格验证:对来自用户的输入,包括 URL 参数、表单数据等,进行严格的验证和过滤,确保其不包含恶意脚本。- 脚本执行:如果页面中的脚本没有对用户输入进行正确的验证和过滤,就可能导致恶意脚本被插入到DOM中并执行。
2025-06-01 12:32:50
269
原创 Pikachu靶场-存储型xss
注入恶意脚本:攻击者通过各种手段,如表单提交、文件上传等,将恶意脚本插入到网站的数据库中。- 脚本存储与执行:网站在展示相关内容时,会从数据库中读取并显示包含恶意脚本的信息。- 电商网站:在商品评论、用户反馈等功能中注入脚本,影响其他用户的购物体验,甚至窃取用户的登录凭证等敏感信息。- 传播恶意软件:通过执行恶意脚本,攻击者可以在用户的设备上下载并安装恶意软件,进一步控制用户设备。- 社交平台:攻击者在发布的文章、评论或私信中注入恶意脚本,其他用户查看相关内容时会受到攻击。
2025-06-01 12:11:11
240
原创 Pikachu靶场-反射型xss(get/post)
我们先登录,用户名/密码为admin/123456,登录后在输入框中以同样的方式输入js代码,submit后会显示一个弹窗,观察url,发现我们的url中没有显示出我们构造的js代码,所以当我们再次访问这个网址的时候不会像get型那样再次显示弹窗。其实这里还有一点关于cookie的内容,但是我一直获得不了cookie的数据,我的xss后台已经配置好了,可能是我还没有弄清楚post.html和cookie.php的地址到底该使用哪一个吧,解决后,继续更新。
2025-06-01 11:58:58
173
原创 Pikachu靶场-token防爆破
(ps:这里是我对token不明白的地方,请大家指教,在这个靶场里,我们就是为了要成功登录,我查阅一些资料说如果没登录成功是不会给token的,这里,其实我们每次都是能获取到token的,那也就是说我只要沿用上一次得出的token,去不断尝试密码,是这个意思吗?说明了这个token是会改变的,这里对于token的了解,还需要知道这个正确的用户名的密码的token,它不是用一次就不能用了,但也不是一直能用,也就是说有一个时间界限。点击Start attack,结果如图,我们破解出了密码。
2025-05-30 15:51:07
432
原创 Pikachu靶场-验证码绕过on client
之后就是直接暴力破解,由于今天已经不早了,哈哈哈哈哈,我就偷个懒,具体破解过程可参见我Pikachu靶场-暴力破解。大家操作之后,记得再改回来,我觉得之后javascript的相关东西我们还是需要看到的。在火狐浏览器地址栏中搜索about:config,会有风险提醒,点击接受即可;操作之后回到我们的Pikachu靶场界面,发现看不到验证码了。点一下双箭头,看到true变为false;搜索javascript;
2025-05-29 21:55:50
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人