XCTF web新手区

1.view_source

F12查看源码

2.robots

根据题目提示访问http://111.200.241.244:55133/robots.txt
发现flag文件
在这里插入图片描述访问http://111.200.241.244:55133/f1ag_1s_h3re.php
在这里插入图片描述

3.backup

在这里插入图片描述

方法一:如果网站存在备份文件,常见的备份文件后缀名有:“.git” 、“.svn”、“ .swp”、“.~”、“.bak”、“.bash_history”、“.bkf” 尝试在URL后面,依次输入常见的文件备份扩展名。
尝试到bak时发现备份文件在这里插入图片描述下载后打开发现flag
在这里插入图片描述
方法二:
直接上手目录扫描工具(这里我用的是dirmap)
下载地址:dirmap
在这里插入图片描述
发现备份文件地址后续操作同上。

4.cookie

在这里插入图片描述
查看数据包
在这里插入图片描述在请求头里面发现cookie值有问题,然后访问cookie.php

在这里插入图片描述查看响应头,发现flag.(也可以直接使用burp抓包)
在这里插入图片描述

5.disabled_button

方法一:将disable=“”去掉,再点击按钮
在这里插入图片描述在这里插入图片描述方法二:审计from表单,使用post传参auth=flag

在这里插入图片描述

6.weak_auth

随便登录然后提示用户必须是admin
之后尝试弱密码123456 ,admin, root等。我这里试出来密码123456
登进去之后发现答案
在这里插入图片描述
也可以爆破。
字典地址:常用密码
在这里插入图片描述爆破发现密码为123456,登进去发现flag。

7.simple_php

在这里插入图片描述(1)这里包含了config.php

(2)url接收参数a和b的值

(3)如果$a等于0 and a , 输 出 a,输出 aflag1

(4)如果$b是数字或者字符串那么退出当前脚本

(5)如果$b>1234,输出$flag2。所以,这里我们既要保证输出$a,$b,又要保证$b是数字,那么就用到php的弱类型比较了

掌握php弱类型比较
php中其中两种比较符号:
==:先将字符串类型转化成相同,再比较
===:先判断两种字符串的类型是否相等,再比较
字符串和数字比较使用==,字符串会先转换为数字类型再比较
var_dump('a' == 0);//true,此时a字符串类型转化成数字,因为a字符串开头中没有找到数字,所以转换为0
var_dump('123a' == 123);//true,这里'123a'会被转换为123

var_dump('a123' == 123);//false,因为php中有这样一个规定:字符串的开始部分决定了它的值,如果该字符串以合法的数字开始,则使用该数字至和它连续的最后一个数字结束,否则其比较时整体值为0。
举例:
var_dump('123a1' == 123);//true
var_dump('1233a' == 123);//false

is_numeric () :如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回空值,即 FALSE。

随便传个符合条件的a b参数:http://111.200.241.244:57673/?a=c&b=46758.333
在这里插入图片描述

8.get_post

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述工具hackerbar.也可以使用burp
用get post传参即可得到flag.

9.xff_referer

在这里插入图片描述
xff是告诉服务器当前请求者的最终ip的http请求头字段
通常可以直接通过修改http头中的X-Forwarded-For字段来仿造请求的最终ip
在这里插入图片描述再根据提示设置referer得到flag
在这里插入图片描述

10.webshell

在这里插入图片描述
使用蚁剑链接,发现flag
在这里插入图片描述

11. command_execution

预备知识:

command1 & command2 :不管command1执行成功与否,都会执行command2(将上一个命令的输出作为下一个命令的输入),也就是command1和command2都执行
command1 && command2 :先执行command1执行成功后才会执行command2,若command1执行失败,则不执行command2
command1 | command2 :只执行command2
command1 || command2 :command1执行失败,再执行command2(若command1执行成功,就不再执行command2)

这里我们尝试使用命令连接符,因为我们知道flag在flag.txt中,所以我们查找该文件
127.0.0.1 & find / -name flag.txt

在这里插入图片描述
127.0.0.1 & cat /home/flag.txt
在这里插入图片描述

12.simple_js

随便输个密码后查看页面源代码
在这里插入图片描述
进行代码审计,发现不论输入什么都会跳到假密码,真密码位于 fromCharCode

先将字符串用python处理一下,得到数组[55,56,54,79,115,69,114,116,107,49,50]

s="\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"
print (s)

再将所得到的ASCII码转化为字符,得到786OsErtk12

a = [55,56,54,79,115,69,114,116,107,49,50]
c = ""
for i in a:
    b = chr(i)
    c = c + b
print(c)

根据题目提示规范格式即可得到flag

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XXX_WXY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值