6307

校赛被打击到自闭,决心好好学习。

web部分题目.

1、web2     地址 http://123.206.87.240:8002/web2/

既然是第一个题我们应该采取查看源码的方式进行,右键之发现没有办法查看源码。遂使用命令view-source查看源码,源码中包含flag,提交即可。

2、计算器     地址:http://123.206.87.240:8002/yanzhengma/

进入发现是一个计算题

输入结果时发现只能输入一个字符,应该是和HTML的text中的maxlength属性有关,控制台查看发现了问题所在

 <input type="text" class="input" maxlength="1"/> 

修改maxlength的值为3,再次输入结果进行验证获得flag。

3、web基础$_GET  地址:http://123.206.87.240:8002/get/

进入时发现出题人将源码放出来了

 $what=$_GET['what'];
 echo $what;
 if($what=='flag')
 echo 'flag{****}';

用URL进行传递http://123.206.87.240:8002/get/?what=flag 即可,得到flag。

4、web基础$_POST  链接:http://123.206.87.240:8002/post/

进入时发现同样的源代码被出题者放出来了。

 $what=$_POST['what'];
 echo $what;
 if($what=='flag')
 echo 'flag{****}';

利用火狐的插件HackBar提交post

得到flag。

5、矛盾  链接:http://123.206.87.240:8002/get/index1.php

进入题目发现源代码已经放出来了

 $num=$_GET['num'];
 if(!is_numeric($num))
 {
 echo $num;
 if($num==1)
 echo 'flag{**********}';
 }

和题目一样,这个代码乍一看就是有一点矛盾。第一层是变量不能是数字,第二层是变量必须是1。

因为php是一个弱类型语言所以我们可以构造payload

1'

1%00

1e0.1

1sdad

URL即可得到flag

6、web3  链接:http://123.206.87.240:8002/web3/

例行工作先查看源码,在源码中发现了一个可疑的注释

<!--KEY{J2sa42ahJK-HS11III}-->

将这段Unicode进行转换就拿到了flag

7、域名解析  

进入题目发现了提示,听说把 flag.baidu.com 解析到123.206.87.240 就能拿到flag。

这样我们在本地C:\Windows\System32\drivers\etc\hosts   文件中将其进行解析就可以了。

在浏览器中访问flag.baidu.com就可以得到flag。

8、你必须让他停下  链接:http://123.206.87.240:8002/web12/

进去之后发现网页不停的刷新,查看源码

 <script language="JavaScript">
 function myrefresh(){
 window.location.reload();
 }
 setTimeout('myrefresh()',500);
 </script>
 <body>
 <center><strong>I want to play Dummy game with others£¡But I can't stop!</strong></center>
 <center>Stop at panda ! u will get flag</center>
 <center><div><img src="2.jpg" /></div></center><br><a style="display:none">flag is here~</a></body>
 </html>

我们可以发现提示就是要我们停在某一张图片上  然后会有flag的提示

我们打开bp 然后在Rpeater进行go 然后会刷新到panda所在的图片,flag也就得到了。

9、本地包含    链接:http://123.206.87.240:8003/

这个题目可能是挂掉了,等以后再去做吧。

10、变量      链接:http://123.206.87.240:8004/index1.php

进入到网页见到提示 flag In the variable !   说明flag在变量variable中。

进一步阅读出题者给出的源码

 flag In the variable ! <?php  

 error_reporting(0);// 关闭php错误显示
 include "flag1.php";// 引入flag1.php文件代码
 highlight_file(__file__);
 if(isset($_GET['args'])){// 通过get方式传递 args变量才能执行if里面的代码
     $args = $_GET['args'];
     if(!preg_match("/^\w+$/",$args)){// 这个正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成
         die("args error!");
     }
     eval("var_dump($$args);");// 这边告诉我们这题是代码审计的题目
 }
 ?>

其中$$args是一个可变变量,var_dump将变量以数组的方式进行显示。

eval("var_dump($$args);");    首先将 var_dump($$args); 当成代码执行   var_dump($GLOBALS);

var_dump()函数将$GLOBALS数组中存放的所有变量以数组的方式输出 得到flag!

11、web5  链接:http://123.206.87.240:8002/web5/

这个题目进去一看jspfuck,查看源码。发现了jspfuck风格的编码,拿去解码,拿到flag。

12、头等舱  链接:http://123.206.87.240:9009/hd.php

进入题目发现没有什么提示,查看源码也没有什么发现。所以利用burpsuite进行抓包,在响应包包头发现了相关的flag。

13、网站被黑     链接:http://123.206.87.240:8002/webshell/

题目进入之后发现那个光标的样式真好玩,玩了十分钟。

webshell就想起来要用扫描工具,利用御剑进行扫描发现了存在shell.php。访问http://123.206.87.240:8002/webshell/shell.php

进入发现需要进行登录,利用bp进行爆破之。发现pass=hack。

14、管理员系统  链接:http://123.206.31.85:1003/

进入题目发现其需要本地IP,利用火狐插件X-Forwarded-For Header伪造ip。

在请求头里面就会出现 X-Forwarded-For: 127.0.0.1

查看源码时发现dGVzdDEyMw==   对其进行解码是test123猜测应该是密码。

用户名admin 密码test23

得到了flag进行提交。

15、web4    链接:http://123.206.87.240:8002/web4/、

进入页面根据提示查看源码发现了两段URL编码,将第一段进行解码得到function checkSubmit(){var a=document.getElementById("password");if("undefined"!=typeof a){if("67d709b2b

第二段进行解码得到54aa2aa648cf6e87a7114f1"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;

两段合在一起就是function checkSubmit(){var a=document.getElementById("password");if("undefined"!=typeof a){if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;

我们只要提交67d709b2b54aa2aa648cf6e87a7114f1就能得到flag

16、flag在index里  链接:http://123.206.87.240:8005/post/

这个题目进入之后首先查看源码没有发现什么,bp也没有发现什么特殊的地方。题目的提示是flag在index中间,确实是不会了所以就百度了一下其他的大佬的做法,发现这个题目是一个本地文件包含加php伪协议利用。利用了php://filter 这里是一个十分重要的知识点。

php://filter是PHP语言中特有的协议流,作用是作为一个“中间流”来处理其他流。比如,我们可以用如下一行代码将POST内容转换成base64编码并输出。首先这是一个file关键字的get参数传递,php://是一种协议名称,php://filter/是一种访问本地文件的协议,/read=convert.base64-encode/表示读取的方式是base64编码后,resource=index.php表示目标文件为index.php。构造payload:http://120.24.86.145:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php
返回base64编码的结果,在注释中发现flag。

bugkuct部分writeup 持续更新的更多相关文章

  1. vulnhub writeup - 持续更新

    目录 wakanda: 1 0. Description 1. flag1.txt 2. flag2.txt 3. flag3.txt Finished Tips Basic Pentesting: ...

  2. 南京邮电大学网络攻防平台——WriteUp(持续更新)

    1.签到题 右键查看源代码直接获得flag 2.MD5collision(MD5碰撞) 观察源码发现md51等于QNKCDZO通过MD5加密的结果,使用在线解密发现结果为 0e830400451993 ...

  3. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  4. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...

  5. ASP.NET MVC 5 系列 学习笔记 目录 (持续更新...)

    前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...

  6. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  7. iOS开发系列文章(持续更新……)

    iOS开发系列的文章,内容循序渐进,包含C语言.ObjC.iOS开发以及日后要写的游戏开发和Swift编程几部分内容.文章会持续更新,希望大家多多关注,如果文章对你有帮助请点赞支持,多谢! 为了方便大 ...

  8. 基于android studio的快捷开发(将持续更新)

    对于Android studio作为谷歌公司的亲儿子,自然有它的好用的地方,特别是gradle方式和快捷提示方式真的很棒.下面是我在实际开发中一些比较喜欢用的快速开发快捷键,对于基本的那些就不多说了. ...

  9. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

随机推荐

  1. PgSQL基础之 安装postgresql数据系统

    参考这位仁兄的文章,真的非常好:https://blog.csdn.net/jerry_sc/article/details/76408116#创建数据目录 后来我又自己写了一个shell脚本,来自动 ...

  2. T4学习- 2、创建设计时模板

    使用设计时 T4 文本模板,您可以在 Visual Studio 项目中生成程序代码和其他文件. 通常,您编写一些模板,以便它们根据来自模型的数据来改变所生成的代码. 模型是包含有关应用程序要求的关键 ...

  3. css图片替换方法

    图片替换主要是指将文字替换成图片的技术,即在html语句中使用文字,浏览器显示时用对应的图片显示.其意义在于便于做网站优化(SEO),因为文字才是搜索引擎寻找的主要对象. https://www.cn ...

  4. OpenCV——SIFT特征检测与匹配

    SIFT特征和SURF特征比较 比较项目 SIFT SURF 尺度空间极值检测 使用高斯滤波器,根据不同尺度的高斯差(DOG)图像寻找局部极值 使用方形滤波器,利用海森矩阵的行列式值检测极值,并利用积 ...

  5. OpenCV——Mat类的创建、复制、函数

    Mat类的创建: 方法一: 通过读入一张图像,直接转换为Mat对象 Mat image = imread("test.jpg"); 其中 imread()方法需要传入String类 ...

  6. docker pull下载镜像时的报错及其解决方法

    使用docker pull从镜像仓库拉取镜像时报错如下: [root@docker-registry ~]# docker pull centos Using default tag: latest ...

  7. JS图片灯箱(lightBox)效果基本原理和demo

    到年底了,项目不怎么忙,所以有空特地研究了下KISSY中源码JS灯箱效果,感觉代码比较简单,所以就按照他们的思路依赖于Jquery框架也封装了一个,特地分享给大家,以前经常看到网上很多这样的插件,感觉 ...

  8. java中线程的几种状态和停止线程的方法

    1.线程的状态图 需要注意的是:线程调用start方法是使得线程到达就绪状态而不是运行状态 2.停止线程的两种方法 1)自然停止:线程体自然执行完毕 2)外部干涉:通过线程体标识 1.线程类中定义线程 ...

  9. HDU 3592 World Exhibition(线性差分约束,spfa跑最短路+判断负环)

    World Exhibition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  10. day69

    昨日回顾: 1 路由层:  1简单配置  2无名分组  3有名分组  4反向解析--模板层,视图层  5路由分发  include  6名称空间   7伪静态 2 作业:  urlpatterns = ...