Ctf新手入门

优秀的人,不是不合群,而是他们合群的人里面没有你

CTF

最近开始有需求打比赛,临时抱佛脚,个人计划是学习训练web,crypto,reverse和misc这四门课程,首先学习相关知识,然后针对性的刷题,把那些有提升性的解题思路记录到博客。

web

主要是一些常见漏洞的考验,以及基础网络知识的检测。学习思路为首先学习相关知识,做好笔记记录后,直接做题,然后总结思路。

常见的漏洞有

  1. SQL注入
  2. xss
  3. 文件包含
  4. 文件上传
  5. 命令执行
  6. 代码执行
  7. 反序列化
  8. XXE XML 外部实体注入攻击
  9. CSRF跨站请求伪造
  10. SSRF服务器端请求伪造
  11. 越权
  12. 业务逻辑漏洞
  13. 其他类型

基础知识包含

  1. 查看页面源码
  2. http请求头数据分析(cookie,修改请求头)
  3. 敏感数据泄露(bak,swp,git,zip)
  4. 各种编码(base64,url编码,unicode1编码)
  5. js代码阅读
  6. 其他

以及用的最多的PHP代码审计

  1. 弱类型比较
  2. 哈希比较
  3. md5 sha1函数缺陷
  4. 数字比较
  5. intval函数缺陷
  6. strcmp函数缺陷
  7. ereg函数缺陷
  8. strlen函数缺陷
  9. preg_match函数缺陷
  10. is_numeric函数缺陷
  11. extract($_GET[‘id’])函数

crypto

密码学掌握的东西很多很杂,但是主要掌握三个方面,编码,古典密码和现代RSA/等加密。

学习思路为学习记录常见编码长啥样,古典密码有哪些和使用工具破解,以及最难的RSA加密算法原理。

然后开始刷题,针对性把有收货的题记录,并且多多保存一下解密脚本。

misc

杂项就是乱七八糟的都有,但是主要包含

  1. 信息收集,一些题目可能需要百度才有思路
  2. Encode(编码转换)
  3. 数字取证主要是wireshark流量分析,日志分析
  4. 隐写分析zip,图片等文件,这个很大很杂乱,需要笔记好好梳理一下

reverse

逆向主要指对软件的结构,流程,算法,代码等进行逆向拆解和分析

  1. 使用strings/file/binwalk/IDA等静态分析工具收集信息,并根据这些静态信息进行google/github搜索
  2. 研究程序的保护方法,如代码混淆,保护壳及反调试等技术,并设法破除或绕过保护
  3. 反汇编目标软件,快速定位到关键代码进行分析
  4. 结合动态调试,验证自己的初期猜想,在分析的过程中理清程序功能
  5. 针对程序功能,写出对应脚本,求解出flag
坚持原创技术分享,您的支持将鼓励我继续创作!

-------------本文结束感谢您的阅读-------------

腾讯云主机优惠打折:最新活动地址


版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%