攻防世界web新手区Writeup

  1. 1.view_source
  2. 2.robots
  3. 3.backup
  4. 4.cookie
  5. 5.disabled_button
  6. 6.weak_auth
  7. 7.simple_php
  8. 8.get_post
  9. 9.xff_referer
  10. 10.webshell
  11. 11.command_execution
  12. 12.simple_js

1.view_source

​ 打开网址后发现界面是这样的:

尝试F12打开开发人员工具查看源代码:

正好发现flag藏在这里,结束。


2.robots

根据题目提示,尝试在url后添加robots.txt

发现flag藏在f1ag_1s_h3re.php

END


3.backup

题目提示是找到index.php的备份文件,百度查了一下如果网站存在备份文件,常见的备份文件后缀名有:“.git” ,“.svn”,“ .swp” ,“.~”,“.bak”,“.bash_history”,“.bkf”。 在URL后面,依次尝试输入常见的文件备份扩展名。
等到输入”.bak”时,弹出提示下载文件:

在文本中找到flag,下一个。


URL后加上cookie.php

用Burp Suite连接查看response

找到flag,冲冲冲。


5.disabled_button

打开界面发现有个按钮按不下去,F12查看源代码,发现有一个disabled,双击选中删掉后,按一下flag就出来了。

是不是很简单?


6.weak_auth

打开网址发现是一个登陆界面,随便输入用户名和密码后,提示我用户名为admin。试了多个万能密码后,都不对,看来只能用字典爆破了,题目说是随便设了个简单密码,假设为6位数字好了,相信玄学

用Burp Suite进行连接,在Raw界面下右键选择Send to Intruder

将密码位置处理成爆破点:

在这里修改爆破字典内容,然后点击start attack:

image-20220116172329761

这里得跑一会了,不要着急

image-20220116172655564

从大到小排序后发现123456长度与别的不同,找到密码了。回到页面输入账号密码得到flag。


7.simple_php

拿到题目后,根据php代码判断需要通过GET方式传入a和b的值,a要求等于0但不为0,b要求不能是数字还要大于1234,然后简单处理一下传入a和b的值就可以了

image-20220124135958020

bingo!


8.get_post

题如其名,就是考基本的get和post,get直接在url后添加就可

image-20220124140650625

post就需要postman来帮忙了火狐的话直接post就好

image-20220124140835207


9.xff_referer

image-20220124142942126

话不多说,Burpsuite直连

image-20220124143125096

右键选择Send to Repeater

这里添加一个X-Forwarded-For值为123.123.123.123

image-20220124143810840

点击Go,查看相应里多了一行字

image-20220124143946193

再添加个Referer值为https://www.google.com

image-20220124144101892

找到flag。


10.webshell

image-20220124144446656

webshell就需要请出来菜刀来解决他了,先用post传一句话木马

image-20220124144627982

拿菜刀连一下

image-20220124144721522

有个flag文本,直接搞定

image-20220124144822742

image-20220124144842696


11.command_execution

https://blog.csdn.net/qq_41617034/article/details/91837257

参考这个博客学习一下有关命令执行的知识再来做题

image-20220124145533469

先试试本地地址127.0.0.1:

image-20220124145626953

已知flag在flag.txt中了,直接找一下

image-20220124150055685

注意斜杠后要有空格

image-20220124150218330

找到目录

image-20220124150325273

搞定


12.simple_js

image-20220124152932298

提示输入密码,随便试试,密码不对,F12查看源代码:


    function dechiffre(pass_enc){
        var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
        var tab  = pass_enc.split(',');
                var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
                        k = j + (l) + (n=0);
                        n = tab2.length;
                        for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
                                if(i == 5)break;}
                        for(i = (o=0); i < (k = j = n); i++ ){
                        o = tab[i-l];
                                if(i > 5 && i < k-1)
                                        p += String.fromCharCode((o = tab2[i]));
                        }
        p += String.fromCharCode(tab2[17]);
        pass = p;return pass;
    }
    String["fromCharCode"](dechiffre("\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"));

    h = window.prompt('Enter password');
    alert( dechiffre(h) );

代码审计一波,把16进制的

\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

转换为10进制

55,56,54,79,115,69,114,116,107,49,50

转换为ASCII码

786OsErtk12

根据题目提示flag格式为Cyberpeace{xxxxxxxxx},提交Cyberpeace{786OsErtk12}得到正确答案。



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至1004454362@qq.com