- 博客(30)
- 收藏
- 关注
原创 ctfshow misc stage系列
打开压缩包发现里面有两张长的一样的图片,一开始尝试了用010editor比较两个图片的不同,看是不是在其中放入了其他的文件,结果发现有很多处不同。注意:我在这里用的是python3的脚本bwmforpy3.py,因为python2版本和python3版本的算法是不一样的,而这里面只能用python2的算法水印才能显示出来,所以要在命令最后加上一个--oldseed。保存图片后使用Stegsolve打开,在红色通道中发现图中有个二维码,保存使用二维码分析工具,得到了一串字符,运行可以得到flag。
2023-06-27 08:57:38
349
原创 流量分析+dmp文件获取用户名密码
dmp文件是windows系统中的错误转储文件,当Windows发生错误蓝屏的时候,系统将当前RAM内存【含虚拟内存】中的数据直接写到文件中去,方便定位故障原因。可以看到在响应状态为200的流量中,之前都是upload/config.php的路径,但最后一个是请求了一个lsass.dmp的文件,所以就是系统的错误转储文件,里面就有可能会有用户的账号密码。mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限,注入进程,读取进程内存,当然他最大的亮点是。打开好多包,先筛一波http,
2023-04-06 16:15:24
879
原创 JWT+webgoat部分解题
当查询的参数可控时,就有可能传入指定的key,这样就造成了key可控,可以随意修改jwt令牌信息。根据之前的JWT,我们可以尝试暴力破解出其使用的密钥,这样就能够进行下一步伪造,成功通过校验。可以看到使用的签名算法是hs256,同时admin的权限是false,那么我们如果将admin的权限改为true,那么就拥有了admin的权限,可以看到这个是要求我们爆破出secret并把用户名修改为webgoat,这种可以使用上面的脚本,也可以使用kali中的hashcat进行爆破。secret就是我们的密钥。
2023-03-31 17:16:39
560
原创 ctfshow-年_ctf初一初二
)弱比较会自动将两边转换成同一类型,只需要比较值是否相等;==)强比较是值和类型都会进行比较。所以我们可以将year=2022.0,在比较时值相同但是类型不同,刚好能通过,最后得到flag。
2023-03-22 15:10:44
353
原创 ctfshow-菜狗杯-crypto(1-4)
很明显是颜文字加密,一般我会用base100,但是并不行,而且使用base100时也不需要密码。看题目应该也是提示加密类型,于是百度了一下,发现好像是Cisco type7加密类型,这是一种Vigenère的加密方式,且可逆。直接给了一串密文,看着也没有什么特征,直接放到在线的解密工具中试试,感觉是16进制编码,尝试转换,发现成功。很明显提示是凯撒密码,于是直接线上找一个,偏移量为3即可得到明文。输入密文和密码后就得到了flag。
2023-03-22 15:09:18
674
原创 pikachu-文件上传+XXE+不安全的url跳转
们可以看到,刚把文件上传,还没有点击“开始上传”就已将弹出了警示框,没有交互就已经检测了文件的类型,说明他是在前端进行校验的。那么我们看一下代码:选择浏览,可以看到代码中有一个checkfiletxt()的函数:我们尝试看一下这个函数,果然是他,然后把onchange值改为空,将这个函数删除:再次尝试上传php文件,发现成功上传。(但是只要重新刷新页面,代码就会恢复。服务端check尝试上传php文件,点击上传发现禁止上传,提示只能是图片格式:是一种标准化的方式来表示文档的性质和格式。
2023-03-22 15:03:01
393
原创 pikachu-越权+目录遍历+反序列化+敏感信息泄露
水平越权指的是攻击者能够访问与他拥有相同权限用户的资源。可以看到我们现在是lili的个人信息,但是我们尝试直接把username改成lucy然后发出:可以看到后端直接按照传入的username返回了个人信息。那么我们在本来是lili账户的情况下访问到了lucy账户的个人信息,这就构成了越权。又因为lili和lucy都只拥有一样的普通账户权限,所以这是水平越权。如果要保证其安全性,我们在校验是否登录了的同时,还应该加验一下和session的用户是否对应。
2023-03-19 16:50:09
456
原创 pikachu(RCE+文件包含+任意文件下载)
所以,一些能涉及到命令执行,且其中有可控参数的情况,我们就可以利用这个来构造一下恶意命令,执行来得到我们想要的信息。后续可以利用反弹shell或者请求下载攻击者服务器上的恶意shell脚本再执行。
2023-03-13 14:52:17
746
原创 ctfshow-探针泄露
实际上是一种Web脚本程序,主要是用来探测虚拟空间、服务器的运行状况,而本质上是通过PHP语言实现探测PHP服务器敏感信息的脚本文件,通常用于探测网站目录、服务器操作系统、PHP版本、数据库版本、CPU、内存、组件支持等,基本能够很全面的了解服务器的各项信息。可以看到有这个文件,我们按照路径访问,可以看到探针的页面,里面可以试试查看到服务器硬盘资源、内存占用、网卡流量、系统负载、系统时间等信息。对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露。这个题中指的就是PHP探针。
2023-03-02 15:15:46
1617
1
原创 pikachu-sql注入(6-10)
delete的sql语句的形式大致是:delete from 表名 where 列名=值其实这个跟上一个类型差不多,没有回显,但是有报错的显示,于是我们就可以使用报错型注入,通过报错中的回显来得到信息。手先我们能看到这就是一个留言页面,可以将留言信息进行删除,那么我们点击删除,可以看到bp中的抓包:这个猜测就是根据id这一列来删除留言信息的。那么我们可以使用payload我在用bp请求的时候会显示400错误,但是将payload直接放在请求的url里就正常了,用hackbar也能正常返回。
2023-02-28 09:37:34
152
原创 pikachu-sql注入(1-5)
可以看到搜索时是让我们选择数字,不能自己自由输入,同时在url里也没有任何参数。那么我们可以打开bp抓包看一下:可以看到是以post方式传入了一个id=1,那么看到他查询的时候都是数字,感觉应该数字型的查询。比如:select * from xxx where id=3;这样-1肯定为假,无法查到数据,但是1=1为永真,那么所查的这个表中的所有数据都会被查到然后显示出来。
2023-02-13 11:17:20
271
原创 buuctf-web(极客大挑战2019)
于是用bp使用post方式,注意将user=0改成user=1(意思也就是:是cuit的学生为真。一开始我还改成了“cuit's students”。一共就两个页面,就都看一下,发现还有提示:必须是cuit的学生,还得写对密码。如果不加密直接返回的话,flag.php被解析后是看不到有flag的源文件的,所以只能加密然后用在线工具再进行解密得到源文件。bp抓包发现中间302跳转时给了另一个路径secr3t.php,尝试访问,F12找到隐藏的路径.Archive_romm.php,尝试访问,
2023-02-08 14:11:13
395
原创 pikachu---(CSRF,SSRF)
CSRF:跨站请求伪造。我们可以给目标发送恶意链接,里面会包含恶意请求,比如修改密码或一些数据;当目标在本地点击访问之后,我们就能够利用客户已经登录上的权限,让他在本地发起我们构造出的恶意请求,从而达到我们修改信息的目的。那么这就需要两个条件,首先要在客户已登录有权限的基础之上,让客户发起请求;其次我们需要知道请求的接口,就是具体我们恶意请求中所需要提交的数据。
2023-02-06 11:37:20
359
原创 php比较绕过(强比较“===”/弱比较“==“)
当字符串被当作一个数值来处理时,如果该字符串没有包含’.’,‘e’,'E’并且其数值在整形的范围之内,该字符串作为int来取值,其他所有情况下都被作为float来取值,并且字符串开始部分决定它的取值,开始部分为数字,则其值就是开始的数字,否则,其值为0。他是判断变量是否是数字说数字字符串的函数,只有全部为数字时才能为真,但是其漏洞是:当将变量用16进制表达时,结果都为真。因为当hash开头为0e后全为数字的话,进行比较时就会将其当做科学计数法来计算,用计算出的结果来进行比较。此函数用来比较字符串。
2023-01-31 11:24:47
5446
原创 pikachu--xss续(盲打~js)
提交之后感觉我们的意见可能会在某处显示,但是我们又不能确定它在哪里,以什么方式显示,所以就只能根据经验进行尝试,并不能确定是否能注入成功,所以是盲注。
2023-01-28 09:54:43
322
原创 pikachu---xss
点击“请说出你的伤心往事”提交之后,点击:“有些费尽心机····”出现“就让往事都随风吧”之后,查看这个元素就能看到payload已经插入到了代码里面,点击“就让往事都随风吧”,发现警示框已经弹出,成功注入。这个不同于上一个的是,他是需要和服务器交互的,但是与撒好难过IG额相同的点是,他也是利用js,通过DOM节点来改变前端html的内容,只不过他不是在客户端页面直接进行更改,而是在服务器端更改的。然后点击what do you see元素,发现成功弹出警示框,注入成功。
2023-01-16 11:24:20
91
原创 pikachu靶场---爆破+xss
所以这个验证码的刷新是由server控制的,再次尝试,将登录请求包一直重发,验证码也不会失效。将验证码输入框的class=vcode删除,然后点击提交,我们发现bp直接收到了包,报文里也就没有校验码了。先输入用户名密码和验证码尝试一下,然后在bp中发现如果登录错误,客户端收到响应后就会发出一个刷新请求,得到响应后就刷新了验证码。将payload补写完整,发现可以成功谈你出警告框,说明payload被当做前端代码成功解析,但是重新刷新,页面变回原来状态。还没发出就验证了,所以是前端问题。
2023-01-16 09:11:58
359
原创 菜狗杯-web-easyPytHon_P
他其实就是一个命令执行题,只不过他是FLASK框架下的python环境,我们主要看subprocess.run()函数。subpeocess模块下的run函数可以执行命令,其具体的参数有很多,我们题中这里主要有三个:第一个args是最重要的,它就是要执行的命令。那么题中就是取cmd中前三个为命令,param为命令参数,_file_是当前文件路径(当param中传入的也是文件路径参数时,命令行会根据这两个路径参数分别执行成两条命令,输出两个结果);点个就是超时时间最大设置为5s。
2023-01-09 15:09:05
454
原创 菜狗杯-misc(三)
QRazyBox 是一个基于 Web 的应用程序(工具包),用于分析和恢复损坏的 QR 码。QRazyBox允许通过使用类似油漆的编辑器重新绘制和重建QR码来恢复QR码。它还提供了几个子工具,可更快、更高效地进行分析和恢复。之后思路就中断了,看了其他的wp之后才知道,是信息修正把后半部分的信息隐藏了。发现不能识别,于是就想着用。先在里面打开这个二维码。这一在线工具来分析。
2023-01-09 13:47:15
2705
1
原创 CentOS7下docker安装
看着其他的教程安装的,目前刚刚开始接触docker,对docker的理解还很不熟悉。uname -r我这里用的是centos 7的虚拟机,内核版本是符合的,本来应该更新yum包的,但是因为我的镜像源还没有修改成国内的,所以镜像下载的时候会有点问题,就得先把镜像源更改一下(为了方便最好su一下切换到root权限):这样就成功修改镜像源了。
2023-01-09 11:16:34
361
原创 菜狗杯-misc(四)
下载下来发现需要密码,怀疑是不是伪加密啊,于是就先把0900改成了0000,结果发现并不行······看来是真加密(看题目,确实没有骗我- -),那就只能尝试暴力破解一下了。打开ARCHPR,它是一个压缩包解密工具,先选择好要破解的压缩包,然后选择类型:暴力,猜解范围先选择全为数字吧,长度尝试一下4到8位的密码,点击开始,成功破解了压缩包的密码:打开压缩包后是个mp3文件,对于mp3文件我们可以用MP3Stego这个工具进行解密,但是这个一般需要密码,而题目也没有任何密码的提示,感觉不能用这个;
2022-12-28 14:59:48
996
原创 菜狗杯---web(四)
找到了吃果子加一分的这行代码,既然没能直接改分,那我们就改成吃一个加2077分。打开是个游戏,玩一下试试,玩完发现也没什么包交互,估计就是在前端找问题了;然后在调试器中点击继续,吃个果子,就已经到分数了,游戏结束之后就能看到flag了。在php中值的拼接可以用“+”来拼接,但是变量和变量之间,要用 “.” 拼接。那我们通过题目的提示也可以想到应该是每个参数传递的一个值组成“大牛”。
2022-12-23 16:59:25
166
原创 菜狗杯-MISC(二)
看了一些wp,没什么好办法,就是一张一张的看,有人肉眼看过了三十关(可能因为美女都太好看了吧);,大家可以自行学习。
2022-12-23 16:56:18
2110
1
原创 CTF工具使用汇总
做题很多的时候都会用到工具,我现在也来简单汇总一下我现在用到过的工具,很多都可以在github或者CTFHUB上直接下载到。
2022-12-20 10:11:46
5200
原创 ctfshow-web(三)
这个打开就是一段代码: 不太会php,查了一下,知道了:assert()是一个断言函数,如果条件判断错误会终止程序;die() 函数输出一条消息,并退出当前脚本。然后还有一个intval()函数,他是用来获取变量的整数值。其实可以看出来,有两个对num值的判断,且都要为真才能达到flag,那么就可以利用intval()函数的一些特点进行绕过。这里利用的是加法绕过:intval()函数中用字符串方式表示科学计数法时,函数的返回值是科学计数法前面的一个数,而对于科学计数法加数字则会返回科学计数法的数值;也就是说
2022-12-06 17:01:02
1036
原创 ctfshow-菜狗杯-抽老婆
打开首先发现是一个图片下载(老婆们都很不错( ̄▽ ̄)*),感觉也没什么其他的东西,先F12看一下代码,发现有一处标注,感觉跟任意文件下载有关:(一开始的错误思路:)想着先扫一遍看看能不能发现啥,于是用dirsearch扫了一下,发现了/console,访问显示需要PIN,也没有什么提示不知道能不能爆破出来,先抓个包看看,发现返回的响应包中有,改一下值,改为true,发现验证就通过了:但是我不会了。。。。后来看了一下wp,发现这个思路是错的,还是应该从文件读取入手。于是先试一试读取flag:
2022-12-05 16:01:45
1859
2
原创 ctfshow-菜狗杯-web(一)
_REQUEST[c][6][0][7][5][8][0][9][4][4],其中$_REQUEST是以任何一种方式请求都可以,c为数组,$_REQUEST请求中传入的值是取的C数组中ID键为[6][0][7][5][8][0][9][4][4]的值。eval()函数中的还是变量嵌套(刚开始以为只需要传最后一个$_的值就好了,没想到是不停的变量嵌套),注意都到在POST中传入。首先是给$_赋值:_=a,再给$a赋值,a=b······以此类推一共有36个$,需要赋值36次。于是我们用POST形式发包,
2022-11-30 14:53:45
3108
1
原创 CTFshow-菜狗杯-misc(1-6)
从标题看起来这个题就不仅仅会使用一种隐写方式了,不要慌,起码他是个能正常打开的图了;发现得到的数据并没有什么特征,那应该就不是了。
2022-11-25 15:39:39
5401
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人