[GKCTF 2020]cve版签到
[GKCTF 2020]cve版签到
题目来源:nssctf
题目类型:web
涉及考点:%00截断
1. 题目给了一个点击链接,进去看看
![](https://images.cnblogs.com/cnblogs_com/blogs/729425/galleries/2340843/o_230922013140_image-20230922092231909.png)
![image-20230922092256693](https://images.cnblogs.com/cnblogs_com/blogs/729425/galleries/2340843/o_230922013140_image-20230922092256693.png)
- 没发现什么东西,抓包看看:
![image-20230922092335647](https://images.cnblogs.com/cnblogs_com/blogs/729425/galleries/2340843/o_230922013140_image-20230922092335647.png)
- 发现hint,页面url为:
http://node4.anna.nssctf.cn:28841/?url=http://www.ctfhub.com
因此我们需要构造url =
http://127.0.0.1
,但又要求后缀为.ctfhub.com
,因此下面介绍一下%00截断
2. %00截断
原理:截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符时,就认为读取到了一个字符串的结束符号。因此,我们可以通过修改数据包,插入\0字符的方式,达到字符串截断的目的。00截断通常用来绕过web软waf的白名单限制。
- 因此我们构造payload:
/?url=http://127.0.0.1%00.ctfhub.com
![image-20230922092854175](https://images.cnblogs.com/cnblogs_com/blogs/729425/galleries/2340843/o_230922013139_image-20230922092854175.png)
- 要求
end with 123
,重新构造payload:
/?url=http://127.0.0.123%00.ctfhub.com
![image-20230922092941852](https://images.cnblogs.com/cnblogs_com/blogs/729425/galleries/2340843/o_230922013140_image-20230922092941852.png)
得到flag:
NSSCTF{36342b32-ea4e-4d71-ad79-0d511a0a2414}
日期:2023.9.22
作者:y0Zero