蓝军基础研判系列-流量分析(二)
2023-1-25 11:11:32 Author: Kali渗透测试教程(查看原文) 阅读量:10 收藏

题目地址:攻防世界-流量分析

https://adworld.xctf.org.cn/challenges/details?hash=97f0c2dd-dd00-4b0c-9ac9-e789d75fdc1f_2&task_category_id=1&rwNmOdr=1674185677488

下载附件使用WireShark进行分析,题目描述提示sql注入,直接过滤http数据包

一眼就瞄到了flag这几个字符,仔细一看GET请求就是sql注入语句,跟踪一下这一条HTTP数据流看下详细数据包内容,选中数据包,右键选择跟踪流-HTTP流

上图中圈起来的部分经过了URL编码(通过%20这种特征判断),使用搜索引擎搜索个在线URL解码网站,把下列内容进行解码

/?id=1'%20and%20ascii(substring((select%20keyid%20from%20flag%20limit%200,1),1,1))=32%23

经过解码就看的很清楚了,跟flag相关具体内容为判断flag的第一个字符对应的ascii表数值是不是等于32

如果是则条件为真,代表flag的第一个字符ascii表数值为32(and的左边是1永远为真,右边flag的第一个字符对应的ascii表数值等于33则为真),解析完了第一个数据包内容,接下来继续看其他GET请求数据包

发现变化的内容只有=后面的数值,说明了sql注入过程中在猜flag的第一个字符ascii值

鼠标往下滑,观察GET请求数据包内容变化

发现sql注入过程开始猜第二个字符了,之前做过类似这种sql注入的都知道,这种情况一般是第一个字符猜对之后开始猜第二个字符,这样子就可以直接看猜第一个字符的最后一个数据包中的ascii数值对应的字符就是flag的第一个字符

查看数据包发现ascii数值为102,对应ascii表查看102对应字符为f,代表flag的第一个字符为f

以此类推即可知道flag的第二个字符,第三个字符.........最后解出来的flag为

flag{c2bbf9cecdaf656cf524d014c5bf046c}


文章来源: http://mp.weixin.qq.com/s?__biz=MzI3NDYwMzI4Mg==&mid=2247486174&idx=1&sn=71a19353ef455eb2438f15619a527051&chksm=eb10c6a3dc674fb516371ec1d76a6d94f80c5b6cb3faa04a716458c312824c80641057da20a3#rd
如有侵权请联系:admin#unsafe.sh