xxbear的ctf滴day2

    科技2022-08-22  105

    web篇新手入门

    说明:题目均来自于网站https://adworld.xctf.org.cn/ 逐题说明: 第1题. 方法一:f12获取代码调试框,从注释中获得了flag,注意flag的形式如下:cyberpeace{7090f71afecceba23bbde51ca7811036} 花括号里跟随的即是需要找到的flag 方法二:view-source 举例:view-source:http://220.249.52.133:49131/ 第2题.robots web协议用于阻止规定类型的网络爬虫抓取关键信息,在禁止列表中的网络爬虫将无法爬取信息 解题方法,在url之后添加robots.txt即可访问robots禁止类型 第三题.备份文件 注:备份文件的文件命名的一般格式为: index.php.bak~ index.php~ index.bak 直接斜杠后跟随需要访问的文件名即可下载以后获取flag 第四题.cookie look-here:cookie.php 访问这个文件,查看header获取flag 第五题.disabled_button 将button的不可用属性删除即可 第六题.weak_auth 弱口令:指用户名和密码都设置得比较简单 比方如下: admin/123456 admin/admin guest/guest admin/admin123 admin/88888888 root/root root/1234567 输入弱口令之后即可获取flag 第七题.command_execution 指运行命令 ping命令后可以跟随&&继续执行附加的命令 比方说: ping 127.0.0.1 && ls /home #指执行完ping命令后继续执行ls home下的目录的命令 这题的解题命令为 ping 127.0.0.1 && cat /home/flag.txt #经过试验测试home下存贮着flag.txt这个文件 cat表示打印文件之中的内容 第八题.simple_php

    <?php show_source(__FILE__); include("config.php"); $a=@$_GET['a']; $b=@$_GET['b']; if($a==0 and $a){ echo $flag1; } if(is_numeric($b)){ exit(); } if($b>1234){ echo $flag2; } ?>

    需要捕获flag1与flag2来获取最终flag $表示一个变量 @用于屏蔽错误信息,加上了@符号就不会显示错误 a = @ a=@ a=@_GET[‘a’]; #含义为通过get方式获取a变量

    if($a==0 and $a) 这里需要特别注意的是 php里的弱比较 == (类型不一样则会相互转换) 强比较则是指 ===(一定要类型一样才可以)

    把a赋值为0e123时,0e1230*10^1230 但是and $a也是成立的,因为a并不直接是0,只有当进行弱比较之时才会进行自动转换

    将b赋值为1235aab(首先1234aab并不是numeric,其次与>进行比较的时候,会出现弱比较进行类型转换,aab中的第一a为出现的第一个字母之后的所有都直接被截断了 1235aab==1235 1235aab123a=1235(之后的统一都是被截断的)

    所以这里需要访问的url后跟随着 /?a=0e123&&b=1235aab 第九题.get_post 需要安装工具hackbar,直接安装Chrome插件即可 链接如下:https://chrome.google.com/webstore/detail/hackbar/ginpbkfigcoaokgflihfhhmglmbchinc?hl=zh-CN

    get方式提交为显式提交:提交方式为/?a=1 post方式提交则借助于工具hackbar:操作方式->load->enable post->body:b=2->execute 第十题.xff_referer 通过bp伪造xff以及referer,bp相当于中间商,所以信息经过都需要bp来查看一次,经过bp查看的信息就不再安全了 首先安装burp suite:链接如下:https://www.sqlsec.com/2019/11/macbp.html

    Processed: 0.016, SQL: 9