热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

攻防世界练习区

攻防世界新手区目录:1.view_source2.robots3.backup4.cookie5.disabled_button6.weak_auth7.simple


攻防世界新手区

    • 目录:
      • 1. view_source
      • 2. robots
      • 3. backup
      • 4. COOKIE
      • 5. disabled_button
      • 6. weak_auth
      • 7. simple_php
      • 8. get_post
      • 9. xff_referer
      • 10. webshell
      • 11. command_execution
      • 12. simple_js


目录:

在这里插入图片描述


1. view_source

在这里插入图片描述


  • 这个题很明显的,只需要查看源代码就能看到 flag,但是不能鼠标右键
  • 这里可以直接按 F12 键或者 Fn+F12 即可
  • 也可以在URL前面加上 view-source: 查看源代码


2. robots

a

# robots协议
1. robots协议也叫robots.txt,是一种存放于网站根目录下的ASCII编码的文本文件
2. robots.txt 文件通常用来告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。
3. 因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。
4. robots.txt应放置于网站的根目录下。

  • 通过 robots 协议,直接访问根目录下的 robots.txt 文件,得到还存在一个 f1ag_1s_h3re.php 文件

在这里插入图片描述


  • 访问链接 http://111.200.241.244:53876/f1ag_1s_h3re.php,获得 flag

在这里插入图片描述


3. backup

在这里插入图片描述


  • 通过提示,此题考的是备份文件泄露,一般备份文件的后缀名是 .bak
  • 直接访问 index.php.bak 下载,打开看到 flag

在这里插入图片描述


4. COOKIE

在这里插入图片描述


  • 题目名字和提示考的是 COOKIE ,所以进入链接,右键选择检查
  • NetworkHeaders 里面找到 COOKIE (需要刷新一下),找到 COOKIE.php 文件

在这里插入图片描述


  • 访问 COOKIE.php 文件,在 Response Headers 中看到 flag

在这里插入图片描述


5. disabled_button

在这里插入图片描述


  • 这里考察简单的前端知识,右键调出调试窗口,看到 标签中有一个 disabled ,删除即可

在这里插入图片描述
在这里插入图片描述


6. weak_auth

在这里插入图片描述


  • 这里提示 随手设了一个密码 ,然后是登陆页面,所以优先考虑弱口令
  • 输入用户名 admin ,密码 123456 即可
    在这里插入图片描述

7. simple_php

在这里插入图片描述


  • 一个简单的PHP审计,需要使用 GET 方式提交两个变量

  • a 变量使用的是弱类型比较 == ,需要等于0 ,但是单独使用时不是0 ,由于是弱类型比较,使用 0a 即可绕过(这里可以是 0b , 0abc 等类型的都行)

  • b 变量有两个判断,一个是要求不能是数字,然后要求值大于1234 ,同样的可以使用弱类型比较绕过

  • 访问链接:http://111.200.241.244:50716/?a=0a&b=12345a,获得 flag

在这里插入图片描述


8. get_post

在这里插入图片描述


  • 考察简单的GET和POST两种提交方式,推荐使用浏览器插件 HackBar (也可以使用 burpsuite 抓包修改也可)

在这里插入图片描述


9. xff_referer

在这里插入图片描述


  • 考察的是 xffreferer
  • xff 也即 X-Forwarded-For ,作用是使Web服务器获取访问用户的IP真实地址,但可以伪造
  • referer 用来告诉浏览器当前连接是从哪个链接跳转过来的

在这里插入图片描述


  • 使用工具 burpsuite 抓包,发送到 Repeater 模块处理(也可以不用,但是通常这么做,用来处理数据比较方便,推荐使用)

在这里插入图片描述


  • 根据提示,在信息中添加 xff 信息,查看 Response 返回的信息,需要伪造 referer

在这里插入图片描述


  • 再添加 referer 字段信息,获得 flag

在这里插入图片描述


10. webshell

在这里插入图片描述


  • 内容考察PHP一句话,这里可以使用蚁剑,菜刀直接连接,然后查看文件,获得 flag

  • 但由于这里的一句话使用的是 eval() 函数,能够将里面的内容变成字符串使用,可以理解为变成文件中的代码。

  • 嘿嘿,所以直接使用 POST 提交一个 shell 变量,然后变量的内容传入 system() 函数即可,就能直接调用系统命令,这么使用会方便很多,但需要注意,传入的内容需要加上一个分号 ;

  • 传入 shell=system('ls'); 看到当前页面有一个 flag.txt 文件,所以直接 cat flag.txt 即可

在这里插入图片描述

在这里插入图片描述


11. command_execution

在这里插入图片描述


  • 传入 127.0.0.1 ,就是简单的 ping 命令

在这里插入图片描述


  • 使用命令 id 看到能够执行命令,所以内容也很简单,就是很简单的命令执行,使用 ; 作为间隔,用来执行两条命令

在这里插入图片描述


  • 直接 find / -name flag.* ,获得 flag 文件的路径
  • 拿到路径后,直接 cat 即可

在这里插入图片描述

在这里插入图片描述


12. simple_js


  • 进入链接,弹出一个验证窗口,需要输入密码,但是尝试好几个都是同样的结果

在这里插入图片描述


  • 直接右键查看代码,看有没有什么好东西,发现了一堆JS代码,里面定义一个函数 dechiffre ,能用来处理传入的ASCII码内容

在这里插入图片描述

<html><head><title>JStitle><script type&#61;"text/Javascript">function dechiffre(pass_enc) {var pass &#61; "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";var tab &#61; pass_enc.split(&#39;,&#39;);var tab2 &#61; pass.split(&#39;,&#39;);var i, j, k, l &#61; 0,m, n, o, p &#61; "";i &#61; 0;j &#61; tab.length;k &#61; j &#43; (l) &#43; (n &#61; 0);n &#61; tab2.length;for (i &#61; (o &#61; 0); i < (k &#61; j &#61; n); i&#43;&#43;) {o &#61; tab[i - l];p &#43;&#61; String.fromCharCode((o &#61; tab2[i]));if (i &#61;&#61; 5) break;}for (i &#61; (o &#61; 0); i < (k &#61; j &#61; n); i&#43;&#43;) {o &#61; tab[i - l];if (i > 5 && i < k - 1)p &#43;&#61; String.fromCharCode((o &#61; tab2[i]));}p &#43;&#61; String.fromCharCode(tab2[17]);pass &#61; p;return pass;}String["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 &#61; window.prompt(&#39;Enter password&#39;);alert(dechiffre(h));script>
head>html>

  • String["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"));
  • 代码里面发现这里调用了函数&#xff0c;还有下面的 alert() &#xff0c;但没啥关系
  • 看到这个 \x &#xff0c;十六进制编码&#xff0c;直接右键检查&#xff0c;丢在 Console 中解码&#xff0c;获得ASCII码内容

在这里插入图片描述


  • 用python写几行代码&#xff0c;将ASCII码转为字符串&#xff0c;然后前面的提示中有flag格式为Cyberpeace{}
  • 所以将内容放进去尝试一下&#xff0c;成功

asciis &#61; "55,56,54,79,115,69,114,116,107,49,50"
alist &#61; asciis.replace(&#39;,&#39;, &#39; &#39;).split(&#39; &#39;)
for i in alist:print(chr(int(i)), end&#61;&#39;&#39;)

Cyberpeace{786OsErtk12}

推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
author-avatar
一直很哇塞.
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有