xctf-web 新手练习区

本文详细介绍了xctf-web新手练习区的解题过程,包括view_source、robots、backup、cookie、disabled_button、weak_auth、simple_php、get_post、xff_referer、webshell、command_execution和simple_js等题目的解决方法,涉及查看源代码、HTTP请求篡改、PHP条件判断、JavaScript编码解密等多个技术点。

view_source

这道题没什么说的,禁用右键了,F12开发者工具就可以直接调出来,直接出结果了。在这里插入图片描述

robots

题目描述很明显,robots,那就在地址栏后面加上robots.txt
在这里插入图片描述
访问这个页面 f1ag_1s_h3re.php 就可以了
在这里插入图片描述

backup

在这里插入图片描述
通常后缀加上bak就是备份文件,试试?
下载了,打开之后出flag
在这里插入图片描述

cookie

那我们就查看cookies,发现look-here,value指向一个页面,二话不说访问页面
在这里插入图片描述
让我们看请求头,果然有flag
在这里插入图片描述

disabled_button

不能按的按钮,F12选择Elements,查看这个按钮相关的元素代码,发现有个disabled在这里插入图片描述
双击把disabled删掉,按下flag,出结果在这里插入图片描述

weak_auth

先随便写,发现提示用户名为admin。
在这里插入图片描述
谁曾知道,密码我试123456就直接蹦出来flag了。现在多数登陆页面都设有验证码,没有验证码可以用burpsuite搞一波,但是你需要一个字典。

simple_php

第一个if是判断是否等于0并且还存在a这个变量,试试字母如何,前半部分出来了。
第二个和第三个组成了flag2部分,先判断是不是数字,如果是数字就退出,但是第三个if是这个数字大于1234,那我就写个1235a,出flag
在这里插入图片描述

get_post

也就是常用的请求,第一个get好说,直接在URI地址后面加上?a=1就出了。然后让用post方式提交一个b=2。post请求稍微有点棘手,但是也可以通过开发者工具搞一下。console不太会用,但是以程序员的角度,还是不太难的。那我们就构造一个请求提交的表单。在elements中,编辑一下body体
在这里插入图片描述
在这里插入图片描述

<form method="post" >
<input name="b" type = "text">
<button  type="submit" >go</button>

提交,出flag。

xff_referer

burpsuite 或者FD 都可以实现,你更喜欢用哪一个呢?
这里用FD做示范:
设置好代理后,抓取请求,然后解锁请求
在这里插入图片描述在这里插入图片描述
添加好XFF。
在这里插入图片描述
数据重放一下。然后看看出没出flag
在这里插入图片描述
没有,还要改一下referer,相同方法添加referer。
在这里插入图片描述
完工。
在这里插入图片描述

webshell

又是post请求,和上面提交那个题是一个方法,咱们试试。

<form method="post" >
<input name="shell" type = "text">
<button type="submit" >go</button>

提交

echo system("ls");

在这里插入图片描述
这个目录下有个flag.txt,直接url访问。当然中国菜刀也可以连接,但是不用工具直接crack更有成就感。哈哈哈哈。

command_execution

实际应用中也要逐一参数位置是否安全,如果参数位置加上另一个命令,可能会有意想不到的后果。

ping -c 3 127.0.0.1 | ps
  PID TTY          TIME CMD
   34 ?        00:00:00 apache2
   36 ?        00:00:00 apache2
   37 ?        00:00:00 apache2
   38 ?        00:00:00 apache2
   39 ?        00:00:00 apache2
   48 ?        00:00:00 apache2
   51 ?        00:00:00 sh
   52 ?        00:00:00 ping
   53 ?        00:00:00 ps

为了实现目的,不惜一切代价,枚举所有文件,看看有没有flag.

127.0.0.1 | find /

在这里插入图片描述
搜索flag,真的有,那就cat一下吧.
在这里插入图片描述
完工

simple_js

上来就让我输入密码,什么鬼。查看源代码,有两个看起来像是被编码的东西,
"70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"这个看起来像是ascii码,[js不太熟悉]用c++跑一边,看看是什么。
在这里插入图片描述
emm,这个是提示的信息。只剩下\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这些东西了。十六进制?转成十进制看看。
在这里插入图片描述
再把55,56,54,79,115,69,114,116,107,49,50转成char
在这里插入图片描述
得到:786OsErtk12
试试结果,注意格式Cyberpeace{}。ok

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值