WEB CTF入门学习

  • 入门题1 view_source
  • X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
  • 答案:cyberpeace{ffbb0c3dcdb78ed0674f699dc967ce67}
  • 解析:打开网址http://220.249.52.133:31520/,F12调试模式,查看源码,即可发现flag: cyberpeace{ffbb0c3dcdb78ed0674f699dc967ce67}
  • 入门题2 get_post
  • 题目描述:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?
  • 答案:cyberpeace{6b4ffe588795f0221357e0bca8c7b396}
  • 解析:在postman上使用get请求,然后根据返回使用post在请求一次,得到flag.

  • 入门题3 robots
  • 题目描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
  • 答案:cyberpeace{bf34b671c82a571999563a558b08422a}
  • 解析:Robots协议称为爬虫协议,是网站和爬虫之间的协议,网站通过robots.txt 文件明确告诉爬虫网站那些数据信息可以被爬取。所以说搜素引擎的爬虫第一个访问的就是网站的robots.txt文件,查看其是否存在,存在则可以得到那些页面可以爬取。获取网站robots.txt文件,得到:
  • 然后访问http://220.249.52.133:57629/f1ag_1s_h3re.php
  • 看到flag:
  • 入门题4 backup
  • 题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
  • 答案:Cyberpeace{855A1C4B3401294CB6604CCC98BDE334
  • 解析:访问URL,可以看到如下内容:
  • 接下来访问其备份文件:
  • 220.249.52.133:53260/index.php.bak
  • 访问可以下载到一个备份文件,打开可以看到flag.
  • 入门题5 cookie
  • 题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’
  • 答案:cyberpeace{7025e91937f29b529033285b731a72ea}
  • 解析:这题主要考对cookie的基本认识,使用postman访问url:

  • 看到cookie的值,继续访问:
  • http://220.249.52.133:46346/cookie.php
  • 看响应,去查看http响应头,可以看到flag:

  • 入门题 6 disabled_button
  • 题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
  • 答案:cyberpeace{ae74951df5a13b95f7b5d11a0ff196df}
  • 解析:这个题看眼对HTML只是的认识:浏览器访问过后将其input的disabled属性删除即可点击,点击过后得到flag.
  • 把图中的disabled=””删除,保存。然后点击按钮即可。
  • 入门题7 weak_auth
  • 题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。
  • 答案:cyberpeace{99ebf561056a2b8d2c6f5f9621765d62}
  • 解析:这题就是弱密码的考验,常见的就是admin  密码 123456,输入点击登录得到flag.
  • 入门题8 command_execution
  • 题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
  • 答案:cyberpeace{9a36ab264d1ea981ad6be44d0344795a}
  • 解析: 这题考得的是ping命令的注入,常见的命令截断字符:‘$’‘;’‘|’‘-’‘(’‘)’‘反引号’‘||’‘&&’‘&’‘}’‘{’'%0a’可以当作空格来用;ip=220.249.52.133;ls -a  / 测试下是否存在命令注入,发现存在:

  • 那么尝试查找flag.txt文件,ip=220.249.52.133;find / -name "flag.*"

得到:ping -c 3 ip=220.249.52.133;find / -name "flag.*"

/home/flag.txt

  • 找到flag.txt文件位置,使用cat查看文件内容:ip=220.249.52.133;cat /home/flag.txt 得到flag.
  • 入门题9 simple_php
  • 题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
  • 答案:Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
  • 解析:php代码如下:
    <?php
    show_source(__FILE__);
    include("config.php");
    $a=@$_GET['a'];
    $b=@$_GET['b'];
    if($a==0 and $a){echo $flag1;
    }
    if(is_numeric($b)){exit();
    }
    if($b>1234){echo $flag2;
    }
    ?>
  • 通读代码说明a b的值都是get方式传输给服务端,想要获取flag就得让第一个if和第三个if都是真,第二个是假。== 代表php的弱比较,只比较值是否相等,字符串和数字==比较时,转换为数字时,从字符串第一个非数字字符开始,到第一个非数字字符结束,故“cc”就是0. 但是if cc 就是true,传唤为ascII 码比较,具体规则可参考:https://www.runoob.com/php/php-types-comparisons.html
  • 故可以构建请求 :http://220.249.52.133:54962/?a=c&b=2232c 得到flag:Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
  • 入门题 10 xff_referer
  • 题目描述:X老师告诉小宁其实xff和referer是可以伪造的。
  • 答案:
  • 解析: xff:X-Forwarded-For是http请求头的一个字段,标识请求源的ip地址,Referer: 代表http请求的来源。这题其实就是伪造这两个字段:按照题目要求伪造X-Forwarded-For:123.123.123.123 ,得到响应,要求必须来源于:https://www.google.com,添加Referer,再次请求可以得到flag在响应中得到:cyberpeace{ec307b60ddde418609b7defa46a43e92}
  • 入门题 11 webshell
  • 题目描述:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
  • 答案:cyberpeace{5e70bcd88a80c525a7b8a1ee1b1c8c27}
  • 解析:打开url后可以看到<?php @eval($_POST['shell']);?> 可以得知这句话是php的一句话木马,可以使用过Cknife进行连接,Cknife github的源码地址:https://github.com/Chora10/Cknife  ,这里给出一个自己下载编译后的下载地址:https://pan.baidu.com/s/15OUkzP8xcTNkUDlSv3QOkA
  • 提取码:i3p1 ,下载解压后,在cmd命令窗口执行:java -jar Cknife.jar  运行起来,添加配置如下:
  • 然后选择文件管理:打开后可看到一个flag.txt文件,打开得到flag.
  • 入门题12 simple_js
  • 题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
  • 答案:Cyberpeace{786OsErtk12}
  • 解析:打开url,随意输入密码,F12打开,查看源码,可以看到如下js代码:
  • <script>var n=String.fromCharCode(55,56,54,79,115,69,114,116,107,49,50);document.write(n);function dechiffre(pass_enc){var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";var tab  = pass_enc.split(',');var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;k = j + (l) + (n=0);n = tab2.length;for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));if(i == 5)break;}for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];if(i > 5 && i < k-1)p += String.fromCharCode((o = tab2[i]));}p += String.fromCharCode(tab2[17]);pass = p;return pass;}debuggerString["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));h = window.prompt('Enter password');alert( dechiffre(h) );</script>
  • 查看js代码可以知道,无论输入什么,输出的都是pass经过String.fromCharCode转换后得到的字符串,尝试将此字符串输入flag,错误。那就将dechiffre里传入的字符串经过var tab  = pass_enc.split(',');后得到的数组,放入String.fromCharCode进行转换尝试,得到一串字符,按照格式输入,正确。Js在线调试地址:https://www.runoob.com/try/try.php?filename=tryjs_events

WEB CTF入门题解析相关推荐

  1. 网络安全web方向入门题合集

    网络安全web方向入门题合集 [HCTF 2018]WarmUp 验证 [极客大挑战 2019]EasySQL [极客大挑战 2019]Havefun [强网杯 2019]随便注 前期工作 堆叠注入查 ...

  2. XCTF攻防世界Web新手入门题大全

    XCTF攻防世界Web之WriteUp无图版 (Tips:有图版本,请移步我的资源,自行下载doc文档) 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 vie ...

  3. ctf入门题库_「ctf比赛」web安全CTF比赛习题(初级) - seo实验室

    ctf比赛 一.Robot 访问URL,可以看到一张骚气十足的图片,然后就什么都没了...没了... 不可能啊,一张骚图片就想欺骗小编,想的太美(长得丑了) 题目说明写的是robot,想想多半是有猫腻 ...

  4. web前端入门知识解析

    一.WEB前端是什么? 使用HTML/CSS/JS以及更多的框架技术,编写网站页面.App应用.小程序.2D&3D游戏.Web VR&AR等应用,通过内容设计.交互动画.数据操作构建项 ...

  5. [CTF] CTF入门指南

    CTF入门指南 何为CTF ? CTF(Capture The Flag)夺旗比赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式.CTF起源于1996年DEFCON全球黑客大会 ...

  6. Jmeter Web 性能测试入门 (六):Jmeter 解析 response 并传递 value

    解析response中的内容,并把获取到的value传递到后续的request中,常用的方法就是在想要解析response的request上添加后置处理器 本章介绍两种常用的组件 BeanShell ...

  7. 2021-06-24CTF-攻防世界-WEB新手练习区(12题入门题)

    CTF-攻防世界-WEB新手练习区(12题入门题) 01-view_source 02-robots 03-backup 04-cookie 05-disabled_button 06-weak_au ...

  8. CTF|pwn栈溢出入门题level3解题思路及个人总结

    CTF|pwn栈溢出入门题level3解题思路及个人总结 解题思路 拿到题目将文件下载下来拖入ubuntu 发现这一次的文件比较特殊:是一个linux环境下的压缩包,自然而然想到的是解压它 通过命令行 ...

  9. CTF pwn题堆入门 -- Unsorted bin

    Unsorted bin 序言 概述 攻击方式 unlink 释放Chunk到Unsorted bin House of Orange House of einherjar Unsorted bin ...

  10. CTFShow web入门题刷题记录

    CTFShow web入门题刷题记录(信息搜集) web1 提示:开发注释未及时删除 打开网页查看源代码发现 flag:flag{2b2cf8e3-f880-41e1-a8ff-02601b3d998 ...

最新文章

  1. Caused by: java.lang.IllegalStateException: View ' '
  2. maven搭建ssm框架
  3. 关于node-sass安装失败的解决办法
  4. sql count(1) count(*)区别_PostgreSQL的count(1)真的比count(*)快么?
  5. poj 1862 Stripies/优先队列
  6. 计算机导论的知识,计算机导论课的认识
  7. Python代码分析工具:PyChecker、Pylint
  8. 23种经典设计模式的java实现_5_职责链模式
  9. 架构设计 —— 系统建模(UML、时序图、数据流图、流程图)
  10. 20190911每日一句
  11. getch函数详解看这一篇就够了-C语言(函数功能、使用方法、返回值、头文件)
  12. 移动固态硬盘没有连接到计算机,移动固态硬盘装个Win to go,这才是移动固态硬盘正确的打开方式...
  13. oracle database lite,Oracle Database Lite Client 10
  14. 值得学习的言语 | 对话技巧 | 开场白
  15. 焊接大师给您支招——10种焊接堵漏方法供你选
  16. ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing 原文翻译
  17. 使用Hexo免费搭建个人博客教程
  18. mysql5.5手册读书日记(4)
  19. DataTables+Ajax分页简单应用
  20. git branch 分支 按照时间排序

热门文章

  1. 三进制与八进制相互转换
  2. JS在H5下实现本地历史搜索记录
  3. 云服务优缺点_云服务是什么,它有哪些优缺点?
  4. 切片器可以设置日期格式?_在Power BI中设置切片器的默认值,你会吗?
  5. 基于SpringBoot的外卖点餐管理系统
  6. 人生苦短_人生苦短的说说、句子及图片
  7. 詹姆斯加入湖人,杜兰特会留在勇士吗?
  8. python substract_Python layers.Subtract方法代码示例
  9. cesium heading(yaw)-pitch-roll的关系(3)
  10. 软件测试好学吗?前期比较容易,后期有一定难度