2022HNCTF

发布于 2022-09-07  493 次阅读


一些知识

关于flag的隐藏

  • 许多签到题目将flag隐藏在页面内容中或者源代码中,可以直接搜索得到,然而部分题目可能出现将flag字样分隔开无法直接搜索得到,如:f|l|a|g|is|base64decode(TlNTQ1RGe0hlbGwwX1dlYmVyX1dlYzBtM19jb21lXzJfd2ViX3cwcjFkIX0

html限制解除

  • html文件可以直接下载与篡改,可以下载html文件,修改html文件调用后端文件的地址,然后手动解除html限制

pregmatch的绕过

  • 常见绕过方式有两种:1.pregmatch无法处理数组,处理数组会返回空值2.如果pregmatch没做多行匹配,可以通过%0a绕过

fromCharCode函数

  • 此函数为jsp函数,可以将unicode值转换为字符串

WP

What is Web

  • flag隐藏在页面源代码中,但直接搜索falg搜不到,因为被分割符号分开了

Interesting_http

  • 页面提示post一个want变量,post wang=1后页面返回让post wang=flag,页面提示需要管理员登录,然后和moe一样,bp抓包,伪造本地登录和请求网址

2048(有疑问)

  • 2048游戏,需要20000分过关,我本来以为和moe一样,给js设置断点,修改判定过关的条件,然而尝试后发现修改后一直报错,直接查看过关后的js代码,发现一个alert函数,调用了jsp的fromCharCode,直接输出flag,这里提供一个在线运行jsp代码的网站(我的导航中也有)https://www.dute.org/js-run

easy_html

  • 页面提示cookie中有提示,抓包发现一个php文件,打开后发现提示输入手机号,手机号是11位的,然而html文件对输入长度限制为10位,下载文件,修改输入框的maxlength和表单的action,在本地网页中随便输入一个11位的数字就行

Interesting_include

  • 一道奇怪的题,题目pregmatch过滤了flag,用数组绕过和%0a绕过都返回error,用filter伪协议直接打开flag.php却可以成功

easy_upload

  • 一道最基础的webshell题目,没有过滤
届ける言葉を今は育ててる
最后更新于 2024-02-07