攻防世界——web新手练习区解题总结<3>(9-12题)

第九题simple_php:

看题目说是php代码,那必定要用到php的知识,让我们先获取在线场景,得到如下网页

仔细看这个代码,意思大概是:

1.当a==0且a为真时输出flag1

2.当b为数字退出

3.当b>1234时输出flag2

这就需要利用到php弱类型的知识了(这里大约说一下,可以上网进一步了解)

当数字类型与字符串类型比较时,如果字符串开始部分有数字时会将数字部分转化为数字类型来和数字比较,如果字符串开始部分不存在数字会将字符串转化为0来和数字比较。(适用于<,>,==,>=,<=)可以说是先进行类型转换再进行比较

而当比较符出现===时会先判断两边的类型再进一步进行比较

满足第一个需求使其输出flag,只需要让a=任意开始部分不带数字的字符串就可以

满足第二,三个要求使其不结束并且输出flag2,只需要让b=数字(大于1234即可)+任意字符串即可

因此让a=c&&b=1235c

(这里是用get方式提交)

便得到flag

第十题xff_referer:

所需工具:burpsuite

先获取在线场景看一下

这里说ip地址必须为123.123.123.123,这里的ip地址应该说的是我们访问的真实ip地址

那既然他要求ip必须为123.123.123.123那么这里就需要用到burpsuite来修改我们的X-Forwarded-For

抓个包先

右键send to repeater,在repeater界面输入下面的语句

X-Forwarded-For:1223.123.123.123

 

得到

这里软件的问题原句应该是“必须来自https://www.google.com”(别问我怎么知道的(狗头保命))

于是我们再加上一句

Referer:https://www.google.com

得到flag

flag为:cyberpeace{4c127c127651a7aad540e9baa252b770}

第十一题webshell

工具:中国蚁剑

获取在线场景后得到

下面的那句话是,一句话木马,也就可以看到密码是shell

用中国菜刀或是中国蚁剑连接

连接成功后可以看到一些文件从中我们找到了flag.txt

打开得到flag

flag为:cyberpeace{d8959ce55924fb951f7abc5e7543f033}

第十二题simple_js:

 

点击获取在线场景后,得到

随便输入一个密码后得到

假密码haha。。。确定后得到一片空白

看一下源码只找到一串奇怪的数字

用python解下码试试

得到

786OsErtk12

加上格式

然后就过了

有的时候有一些奇怪的数字一定要留意一下,说不定flag就在其中

flag为:Cyberpeace{786OsErtk12}

完结撒花~

ps:本人新手一枚,写的题解呢也是以新人的口吻写的所以有许多地方不够专业,也可能还有许多错误,也请各位大佬多多包容,也欢迎各位大佬的指导。

posted @ 2020-08-24 19:57  Don_Joshua  阅读(483)  评论(1)    收藏  举报