zl程序教程

您现在的位置是:首页 >  前端

当前栏目

攻防世界 初识web

Web 世界 初识 攻防
2023-09-27 14:29:28 时间

1、view_source

根据提示直接查看网页源码

 F12调出开发人员工具,直接可以找到flag

 cyberpeace{21adabb4b2f952f3387b94f1226df379}

2、robots

打开什么也没有

根据题目提示查看robots协议: 在url后加  /robots.txt

 robots.txt是搜索引擎中访问网站的时候要查看的第一个文件

构造PHP地址 http://61.147.171.105:49342/f1ag_1s_h3re.php

cyberpeace{13336d4321d94330d32fd9d28994ec71}

3、backup

 常见的备份文件后缀名有: .git .svn .swp .svn .~ .bak .bash_history

可以手动猜测,尝试后发现是.bak,在URL后加上 /index.php.bak

或者使用御剑扫描

 得到一个 http://111.198.29.45:35594/index.php.bak 的备份网址

下载后以文本格式打开即可看到flag

 Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}

4、cookie

Cookie由 Web 服务器创建,为辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据。

 F12,在存储一栏,可看到名为look-here的cookie的值为cookie.php

构造出URL http://61.147.171.105:63446/cookie.php

查看http响应包,在网络一栏,可看到访问cookie.php的数据包,在消息头内可发现flag

cyberpeace{c8c51fc8b5e30b89b7b42c5a0aecc00c} 

5、disabled_button

打开页面,发现无法点击

 查看源码,我们发现存在disabled ,disabled 属性规定应该禁用 <input>元素,被禁用的 input 元素是无法使用和点击的。

当布尔属性 disabled 存在时,元素将不可变、不能聚焦或与表单一同提交,用户将不能在表单控件本身或其子控件进行编辑或聚焦操作,不能与该控件或其后代控件进行交互(比如这里的按钮)

 将disabled去掉,再次点击按钮,即可看到flag

 cyberpeace{9f45567cb7ab0ff39c9a4bb92abe5421}

6、get_post

首先让以get方式提交名为a,值为1的变量

GET给后端传参:URL后 + /?+变量名及值(不同变量之间用&隔开)

http://61.147.171.105:49342/?a=1即:http://61.147.171.105:49342/?a=1 即可发送get请求

 

又让以post方式提交名为b值为2的变量

post传参:用hackbar,复制get的URL,选择postdata,填入b=2,选择execute,即可发送post请求(需要先load URL)

 cyberpeace{c0451f494c4f8014966d7c05cba433ad}

7、weak_auth

打开链接是一个登录界面

 随便输入用户名和密码,提示用户名必须是admin,并返回一个check.php页面

 更换用户名后,但是密码错误

 根据题目描述是随手就设了一个密码,可以猜测是123456,其实这就是正确密码

猜不到也没关系,这里我们爆破

使用Burpsuite抓包,第一次先直接放,让登录页面加载出来,输入用户名和密码后(用户名为admin,密码随便输),将抓到的包在Action中send to Intruder传到Intruder中

 来到Intruder中,先clear§,再选中password的值Add§

在payloads下添加字典,选择load 

常用爆破字典下载地址 https://github.com/rootphantomer/Blasting_dictionary

 

 Start attack,返回结果长度上不一样的就是密码

 同样在action中,把包传到repeater

 来到repeater,修改密码为123456,点击send,即可在响应包里看见flag

cyberpeace{2bccc158e9305a1a6a492236f8ba20a2}

8、simple_php

刚开始做web并不太看得懂代码

先介绍一些东西:

① php中有两种比较符号

  ===  同时比较字符串的值和类型

  ==  先将字符串换成相同类型再比较

② 函数 is_numeric():检测变量是否为数字或数字字符串,是则返回true,否则返回false

③ echo:将输入的字符串送往标准输出

④ $:在PHP中表示变量的特征字符

⑤ 数字和字符混合的字符串转换为整数后只保留数字

有了这些知识基础后我们再来看这些代码

这里需要同时满足 a==0 (a转换后为0)但a本身不为false,(可以用字母或字母+数字或'0')

b 要求不是数字(b是数字就exit退出了)且 b>1234 (可以用大于1234的数字+字母,类型转换后就只剩大于1234的数字),传入a&b参数后即可得到flag

 Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}

9、command_execution

打开链接,要求输入ping的地址

可以发现,ping192是不能通的

 而127的则可以

 介绍一下:

① 192开头常用作家庭网络,127开头则常用作测试网络,前者是局域网,后者是本机。

还有一个特殊的IP:127.0.0.1 叫做回送地址,指本地机,用作测试。

一旦用回送地址发送数据,协议软件立即返回,不进行任何网络传输。

 ② | :将前一个命令的结果传给后一个命令作为输入

  &&:前一条命令执行,若为真,才再执行后一条

执行ping再带一个其他命令, 127.0.0.1&&ls ,可以看到当前目录下的文件

逐个查看它的上一级目录 (注意ls后需要加空格,命令后都要加空格的)

127.0.0.1&&ls ../ 

127.0.0.1&&ls ../../

 

127.0.0.1&&ls ../../../

展开它的家目录

127.0.0.1&&ls ../../../home

 看到有一个flag.txt,用cat命令来获取 (同样cat命令后面需要先跟空格)

cyberpeace{162afbbfabaa272d785404225190fa31}