看了看自己的博客,发现最近几年学什么发什么博客都是半途而废,甚至很久没有登陆csdn了😭,怎么肥四哇,给自己一个差差差评。 最近工作需要,又开始了新的一波学习。开始在攻防世界上面刷一些最简单最基础的题目,在这边记录一下吧,希望这一次的学习和记录能多坚持一段时间鸭~~
以下为正文:
1.view_source
打开题目场景链接后如下图 按F12查看源代码,如下图 可以直接看到flag为cyberpeace{bcfce52ec705e8a28365b795cbd93c40}
2.robots
robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。(来自百度百科) 直接在URL后面加上/robots.txt 回车得到 看到f1ag_1s_h3re.php,因此在URL后面加上/f1ag_1s_h3re.php
得到flag为cyberpeace{bcf14a6a00035ff1d83c4828a97d8cc5}
3.backup
这是一个备份文件的题目,要知道index.php的备份文件名字。 php的备份文件有两种,php的备份有两种:.php~和.php.bak。 其中,.bak格式的备份文件是人为保存的备份文件,如果存在于web服务器中,可以通过下载查看内容。 因此,直接在URL后面添加 :/index.php.bak下载备份文件,用notepad打开
得到flag为Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}
4.cookie
Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。(来自百度百科) 按F12,在console输入:document.cookie 获得cookie 或在network中查看 根据提示,在URL后面添加/cookie.php 看到提示 在network中查看http response 得到flag为cyberpeace{af15b10abef45396a840aa1edab1b990}
5.disabled_button
看到源码中这个按钮为disabled,双击删除disabled,按钮即可按下。 按下flag按钮 得到flag为cyberpeace{d5cec6509eb4ebb288c64a30d1cf707f}
6.weak_auth
打开场景链接发下是一个登陆页面 随便输入username和password,我都输了123,提示username应该为admin 按下F12查看源代码,提示需要字典爆破 (还没学会用burp爆破,后面补上) 以下是一些较为常见的弱密码:
admin ——easy
123 ——同上
abcde ——同上
abc123 ——同上
123456 ——由于文化因素极其常用
1234 ——同上
888888 ——同上
1234567890 ——同上
susan ——常见人名
BarackObama ——高知名度人物
monkey ——常见动物名且正好六位
password ——经常被使用,极易猜出
p@$$\/\/0rd ——简单的字母替换,易被黑客软件破译
rover ——宠物的常用名称,也是一个单词
12/3/75 ——日期
nbusr123 ——可能是用户名,如果是这样的话很容易被猜出
asdf ——常用键盘的键排列
qwerty ——常用键盘的键排列
aaaaa ——重复的字母,极易被破解
Taiwan ——地名
administrator——太容易猜出
本题目密码为123456。输入admin和123456,即可得到flag为cyberpeace{84df9e9bb1363f9e43bfcf666c94ba02}
7.simple_php
php弱类型比较
两种比较符号:
==:先将字符串类型转化成相同,再比较
===:先判断两种字符串的类型是否相等,再比较
字符串和数字比较使用==时,先将字符串会转换为数字类型,再比较
var_dump('a' == 0);//true,此时a字符串类型转化成数字,因为a字符串开头中没有找到数字,所以转换为0
var_dump('666a' == 666);//true,这里'123a'会被转换为123
var_dump('a666' == 666);//false,php中规定:字符串的开始部分决定了它的值,如果该字符串以合法的数字开始,则使用该数字至和它连续的最后一个数字结束,否则其比较时整体值就是0
举个栗子:
var_dump('666a12' == 6);//true
var_dump('6666a' == 666);//false
<、>、<=、>=都存在和==相同的弱类型,原理都一样~
看题目中的php代码,有下面这些信息: 包含了config.php,URL接收参数a和b的值 如果a==0 并且 a不为0,输出flag1 如果b是数字或者字符串,退出当前脚本 如果b>1234,输出flag2 所以,我们需要得到flag1和flag2,就要传递满足条件的a和b
举个可行的栗子:a=a,b=3333b 因此,在URL后面加上/?a=a&b=3333b,即可得到flag为Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}
8.get_post
这道题需要用到一个工具,hackbar。 安装方法参考百度,装在火狐浏览器上的教程较多。新版本存在需要licence的问题,可以下载老版本。我用的是2.1.3,记得要装好后关掉更新!! 丢一个hackbar 2.1.3百度网盘链接,需要的小伙伴请自提: 链接:https://pan.baidu.com/s/1OxRllq5QsVx-xbFEMXidRg 提取码:659z
get&post: get直接在URL后面添加参数 post需要在http包里面添加参数或者在Firefox的hackbar里面可以直接添加参数
用安装好hackbar的火狐浏览器打开场景链接 按照网页中的提示,在URL后面添加/?a=1,得到新的提示 按照新的提示,按下F12,在最右侧找到安装好的hackbar 按下Load URL, 选中Post data,在下面的框中输入b=2,点击Execute,即可得到flag为cyberpeace{e0654d8749d201bf692e9786f60500aa}
9.xff_referer
这道题需要用到一个工具,burpsuite。 安装方法参考百度,需要先装java并配置环境,在浏览器中设置代理,才能使用 同样,丢一个burpsuite免安装版本的百度网盘链接,需要的小伙伴请自提: 链接:https://pan.baidu.com/s/1g0EtA62FvifaIM8xJAlpYw 提取码:rr71 按照题目描述中的提示可知,本题考点为修改xff和referer。 于是用burpsuite抓包(我用的火狐浏览器) 先抓包,按照提示在http包头中添加xff(X-Forwarded-For: 123.123.123.123),再点forward 浏览器中出现新提示
按照新提示在http包头中再添加 Referer: https://www.google.com,点forward 即可得到flag为cyberpeace{e1647c732e1653abc585f70b3af44485}
10.webshell
这道题需要用到一个工具,中国蚁剑。 安装方法参考https://www.fujieace.com/hacker/tools/antsword.html 丢一个AntSword-Loader-v4.0.3-win32-x64.zip的百度网盘链接,需要的小伙伴请自提: 链接:https://pan.baidu.com/s/1FDnvd-8Zbc5rpVEssMRPmg 提取码:ikoy
打开蓝剑,右键添加数据
双击flag.txt,得到flag为cyberpeace{16177f78abd637ae280b031ec05673d6}
11.command_execution
尝试ping一下回送地址127.0.0.1 尝试使用命令连接符,因为我们知道flag在flag.txt中,所以查找该文件 127.0.0.1 & find / -name flag.txt 其中,find / -name flag.* 意思是查找根目录下面名字是flag.开头的文件
可以看到,flag.txt在 /home/flag.txt下,用cat命令查看这个文件 127.0.0.1 & cat /home/flag.txt
得到flag为cyberpeace{5694cd0da2fdea67df210b41902d2389}
补充有关命令执行的知识 (windows或linux):
command1 & command2 :无论command1是否执行成功,都执行command2(将上一个命令的输出作为下一个命令的输入)
command1 && command2 :先执行command1,执行成功后才会执行command2,若command1执行失败,则不执行command2
command1 | command2 :只执行command2
command1 || command2 :command1执行失败,再执行command2(若command1执行成功,就不再执行command2)
本文持续更新中~
|