攻防世界-WEB新手练习区教程(二)

目录

攻防世界-WEB新手练习区教程(二)

simple_js

xff_referer

weak_auth

command_execution

simple_php


攻防世界-WEB新手练习区教程(二)

simple_js

进入场景

需要输入密码 尝试了一下万能密码看看能不能绕过

没法绕过 根据题目提示js 那就查看一下代码

对于这一段源码解析可以参考文章XCTF_Web_新手练习区:simple_js(源代码详解)_1stPeak的博客-CSDN博客

看完解析之后结论就是,无论我们在弹框中输入什么值,都只会返回FAUX PASSWORD HAHA

而正确的flag存放在String["fromCharCode"]这一行中

将数据进行转换一下(/x是十六进制的数据)

转换后的是十进制数值 可以根据ASCII表进行对照

得到字符串  7860sErtk12

也可以采用脚本进行转换 可以参照我的文章 步骤写的很详细

python小记--攻防世界simple_js解题脚本编写_tzyyyyyy的博客-CSDN博客

flag出现

Cyberpeace{7860sErtk12}

xff_referer

Referer是请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 referer。比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=https://www.sojson.com。由此可以看出来吧。它就是表示一个来源

进入场景

提示中说xff和referer是可以伪造的 由此联想到通过抓包修改数据包内容来伪造xff和refer的数据

打开burp抓包 并将抓到的包放入repeater中

添加X-Forward-For

X-Forward-For:123.123.123.123

点击go放包 查看回显

提示需要来自goole.com的请求 即为修改Referer的数据

flag出现

cyberpeace{1884ce0fcb708adc2ea2631904fb5712}

weak_auth

进入场景

尝试一下绕过

失败了~~~

那就尝试一下爆破 上burp

先抓包 并发送至intruder模块

修改一下我们需要爆破的地方

账号就先用个admin(毕竟好多登录的页面都有admin账户哈哈哈哈)

修改如下

设置字典

点击load加载字典(这个字典可以网上收集也可以私信我拿)

设置完毕之后 点击右上角 start attack进行爆破

点击一下length 发现了有一条回显长度不一样的密码 应该就是登录密码了 停止爆破 试试看能不能登录

输入账号admin 密码123456

登录成功 出现flag

cyberpeace{09c24fd232d8ffd2cb5d1855fa5b38f8}

command_execution

命令执行漏洞(command_execution)即使用者可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限。其造成的原因是Web服务器对用户输入命令安全检测不足(比如没加waf),导致恶意代码被执行。

ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等

进入场景

先随便ping一下查看回显

输入127.0.0.1

结合下列管道符 构造恶意代码

;A;B先执行A,再执行B
&A&B简单拼接,A B之间无制约关系
|A|B显示B的执行结果
&&A&&BA执行成功,然后才会执行B
||A||BA执行失败,然后才会执行B
127.0.0.1;ls -al  (ls是linux查看命令)

执行ls命令成功 证明存在命令执行漏洞

接下来只需要查找一下flag存储在什么位置 并通过相应的命令查看就可以了

127.0.0.1&& find / -name "flag*"   (find是linux查找命令)

发现了一个flag.txt 继续查看

127.0.0.1 && cat /home/flag.txt  (cat是linux查看文件命令)

 flag出现

cyberpeace{f74d6bd12e101bf445e450819853dac5}

simple_php

进入场景

根据提示 此题需要进行php代码审计 输入符合条件的a b值 最终得到flag

a参数的要求 a必须等于0且a为真

b参数的要求 b不能为数字且b大于1234

当不同类型的值进行==比较的时候会发生类型转换

所以,可以使a=0a

b不能是数字,但又必须大于1234,这里可以用b=1235a

结合之后得到

?a=0a&b=1235a

flag出现

Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

tzyyyyyy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值