XCTF web新手区

1.view_source

F12查看源码
XCTF web新手区

2.robots

根据题目提示访问http://111.200.241.244:55133/robots.txt
发现flag文件
XCTF web新手区访问http://111.200.241.244:55133/f1ag_1s_h3re.php
XCTF web新手区

3.bXCTF web新手区

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

4.cookie

XCTF web新手区
查看数据包
XCTF web新手区在请求头里面发现cookie值有问题,然后访问cookie.php

XCTF web新手区查看响应头,发现flag.(也可以直接使用burp抓包)
XCTF web新手区

5.disabled_button

方法一:将disable=“”去掉,再点击按钮
XCTF web新手区XCTF web新手区方法二:审计from表单,使用post传参auth=flag

XCTF web新手区

6.weak_auth

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

7.simple_php

XCTF web新手区(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
XCTF web新手区

8.get_post

XCTF web新手区
XCTF web新手区
XCTF web新手区工具hackerbar.也可以使用burp
用get post传参即可得到flag.

9.xff_referer

XCTF web新手区
xff是告诉服务器当前请求者的最终ip的http请求头字段
通常可以直接通过修改http头中的X-Forwarded-For字段来仿造请求的最终ip
XCTF web新手区再根据提示设置referer得到flag
XCTF web新手区

10.webshell

XCTF web新手区
使用蚁剑链接,发现flag
XCTF web新手区

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

XCTF web新手区
127.0.0.1 & cat /home/flag.txt
XCTF web新手区

12.simple_js

随便输个密码后查看页面源代码
XCTF web新手区
进行代码审计,发现不论输入什么都会跳到假密码,真密码位于 fromCharCode

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

s="x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30" 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

版权声明:玥玥 发表于 2021-08-18 22:13:35。
转载请注明:XCTF web新手区 | 女黑客导航