CTF学习笔记20210910

CTF—Web介绍

CTF中的Web题型,就是给定一个Web网站,选手要根据题目所提示的信息,找到网站上的flag字符串。


做题的方法类似于渗透测试,但通常不会是一个完整的渗透测试,而是用到渗透测试中的某一个或某几个环节。可能涉及信息搜集、各类漏洞发现与利用、权限提升等等。


为了获取flag,可能需要拿到管理员权限,数据库权限,甚至获取网站所在服务器的权限。

 

所需的Web 安全基础知识

1. HTML 基础

2. HTTP协议基础

3. JavaScript 基础

4. PHP 源码审计基础

5. 常见的Web 服务器基础

Apache HTTP Server

Apache HTTP Server 以稳定、安全以及对 PHP 的高效支持而被广泛用于 PHP 语言中,WAMP 或者 LAMP 就是它们组合的简称,即 Windows 或者 Linux 下的 Apache2+Mysql+PHP。

Nginx

Nginx 的特点在于它的负载均衡和反向代理功能,在访问规模庞大的站点上通常使用 Nginx 作为服务器。同样,Nginx 也和 Mysql、PHP 一同构成了 WNMP 和 LNMP 环境。和 Apache 默认将 PHP 作为模块加载不同的是,Nginx 通过 CGI 来调用 PHP。

IIS

IIS 被广泛内置于 Windows 的多个操作系统中,只需要在控制面板中的 Windows 服务下打开 IIS 服务,即可进行配置操作。作为微软的 Web 服务器,它对 .net 的程序应用支持最好,同时也支持以 CGI 的方式加载其他语言。

6. 常见web漏洞

SQL注入

文件包含

XSS漏洞

上传漏洞

代码审计

CSRF

SSRF

命令执行

PHP 弱类型

7. 常用的工具

Sqlmap

BurpSuite

AWVS

CTF-Web入门解题思路

1. 直接查看源代码

2. 修改或添加HTTP请求头

常见的有:

Referer来源伪造

X-Forwarded-For:IP伪造

User-Agent:用户代理(就是用什么浏览器什么的)

//.net的版本修改,后面添加,如版本9

.NET CLR 9

Accept-Language:语言

Cookie的修改

3. 查看HTTP请求头或响应头

4. 302跳转的中转网页有信息

5. 查看开发者工具控制台

6. JavaScript代码绕过

通过删除或修改代码或者本地代理改包绕过

7. 使用burp的repeater查看整个HTTP包

8. 阅读javascript代码,直接控制台获取正确密码

9. robots.txt文件获取信息

这本来是给搜索引擎看的信息,很可能暴露网站结构目录

10. bash_history,这个应该看到过吧,就是记录用户输入过的linux命令的

参考:

https://firmianay.gitbooks.io/ctf-all-in-one/content/doc/1.1_ctf.html

http://www.360doc.com/content/18/0808/22/58484824_776730242.shtml

https://www.jianshu.com/p/1bfc31142bab

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自己在做CTF过程中做的总结下面中实验室指的是网络安全实验室 题目全部来自bugku,南邮和网络安全实验室,题较基础,实验吧要复杂些 文中所有知识点内容并不全,要学习原理及深入得自己去找资源学习 看这个的时候,以做题为主 所有工具的使用,就做题,遇到要用什么学什么 先去DVWA中学习文件上传,文件包含,代码执行,命令执行,尽量亲手操作一遍,然后看前三个难度的源码,impossible难度的可以了解,网上有针对DVWA很详细的讲解 1.养成看源代码的习惯(简单) flag在源代码中(): 题目 firebug修改源码绕过本地验证(有视频) 题目 答案 CTF中源代码中一般有提示或者有敏感信息,建议养成看源代码的习惯 ctrl加F通用的搜索快捷键。 这个题真是全程看源代码,快捷方式:F12 题目 答案 2. http头(不难): burpsuite,浏览器代理设置教程抓了包后右键放到repeater里,点go可以进行发包测试,用完Burpsuite过后,要正常上网的话,要把代理关了。 浏览器插件改包的话,(有视频) 找flag:在请求头,响应头尝试实验室:key究竟在哪里呢? 302跳转的中转网页,burp抓包在HTTP history中找本应该访问的网站链接(为了方便寻找可以先clear一下历史),简单方法用firefox右键查看元素的查看网络中找到302跳转的网页,寻找flag(有视频) 南邮:单身一百年也没用 如果题目中遇到只能某某ip才能访问(ip伪造),修改或添加http请求头的X-Forwarded-For为题目允许的Ip地址,实验室:本地的诱惑 题目中说为了外国人的话:确保Accept-Language中有en-US 没有就自己加,如果说了只为了的话,就删掉其它的语言类型。(有视频) 实验室:种族歧视 只能用某种浏览器访问,直接修改user-agent为对应浏览器名字 实验室:HAHA浏览器 Cookie的修改 实验室:冒充登陆用户 Referer来源伪造 题目这个题好像坏了,可以去看下wp。 答案 最后来一个综合的题考察下你学的怎么样实验吧:头有点大 3. 文件包含(感觉必考) 利用: 读取敏感文件:如直接../../../../../etc/passwd来读取本地文件内容,其他敏感文件的读取是类似的 包含Apache日志文件(应该不会考) 远程包含shell 使用PHP封装协议读取文件和写入PHP文件 配合文件上传漏洞: 文件包含建议理解并操作dvwa的前三个难度的这个漏洞 例题:1.看到url里有?file=xxx.php(文件名) 考虑php伪协议读取源码, 然后利用这一点,可以读取到你想获取的页面的源码例如: index.php,flag.php,login.php的源码,然后base64解密 url里?后面改成这个?file=php://filter/read=convert.base64-encode/resource=index.php 本句的意思是将Index.php的源码以base64加密后的形式读出来 南邮:文件包含 4.暴力破解:burpsuite暴力破解教程 bugku:输入密码查看flag 5. 文件上传(感觉必考) 例:只能传jpg等不能传php 查看网页源码,很清楚看到是前端JS控制的话,那么直接禁用 JavaScript就可以上传php文件了, 或者可以用burpsuite通过拦截数据包,修改filenmae后文件名后缀为php 1.jpg.php 1.php.jpg 1.php;.jpg 后缀名修改为php2, php3, php4, php5, phps, pht, phtm, phtml(php的别名) 抓包修改Content_Type里的multipart/form-data为Multipart/form-data(大小写绕过) bugku:求getshell 上传过后通过显示的路径进行访问,或者右键文件属性里查找。 bugku:文件包含2 答案该题因为结合了上传,所以可以上传一句话木马,然后用菜刀连接 文件上传建议理解并操作dvwa的四个难度的这个漏洞

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值