攻防世界—web新手区wp

  • view source
  • robots
  • backup
  • cookie
  • disabled_button
  • weak auth
  • simple php
  • get_post
  • xff_referer
  • Webshell(文件上传)
  • command_execution(命令执行)
  • simple_js(代码审计)
  • @总结

view source

提示:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。

根据提示我们可以试着查看一下源代码,却发现点击鼠标右键无效。
那么我们可以尝试其他查看网页源代码的方法。

查看网页源代码有下列五种方法:
1.鼠标右击然后直接查看源代码
2.快捷键 Ctrl+U查看源代码
3.在地址栏上加上view-soure
如:view-soure:https://www.baidu.com
4.火狐浏览器—更多工具—页面源代码
5.F12查看页面源代码

flag就在页面源代码里
注意:由于在攻防世界上每个人获取的靶机不同,所以得到的flag也不同哦,正确的flag需要自己动手查找。

robots

提示:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。

我们可以先大概了解一下robots协议
Robots协议 简介:俗称君子协议,也叫robots.txt是一种存放于网站根目录下的ASCII编码的文本文件。 robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个网络蜘蛛(网络搜索引擎的漫游器)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。 如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。 robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。

了解完robots协议后,根据提示我们先查看一下网页的robots.txt文件,看看里面有什么内容

直接在网址后面加上 /robots.txt 即可
注意:每个人的网址不同,下面是我的
http://111.210.241.224:53698/robots.txt
我们发现 f1ag_1s_h3re.php 意思是flag可能在这个文件中
但是robots里的文件不可自己爬取。不过我们可以手动打开。
直接在网址后面加上 /f1ag_1s_h3re.php 即可得到flag
http://111.210.241.224:53698/f1ag_1s_h3re.php

backup

提示:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!

先了解一下备份文件

常见备份文件后缀有:.bak
本题可以使用工具:御剑

御剑下载链接:
链接:https://pan.baidu.com/s/1s78p9lAzuIWq-SwOmOT4NA
提取码:mxnb

不使用扫描工具)

本题访问http://11.10.10.175:45589/index.php.bak后会下载一个文件,当成txt打开,flag就在里面啦

cookie

提示:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’
先了解一下cookie的有关知识:
Cookie是保存在客户端(我们自己的本地电脑)的纯文本文件。比如txt文件。当我们使用自己的电脑通过浏览器进行访问网页的时候,服务器就会生成一个证书并返回给我的浏览器并写入我们的本地电脑。这个证书就是cookie。一般来说cookie都是服务器端写入客户端的纯文本文件。一般网络用户习惯用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据,而这些数据通常会经过加密处理。
使用burpsuite抓包:
需用到的工具:brupsuite
抓包:

然后我们在网址加上 /cookie.php 回车
再次抓包并action 发送到repeater然后go最后在response里查找flag

不使用burpsuite抓包:
1.在浏览器按下F12键打开开发者工具,刷新后,在存储一栏,可看到名为look-here的cookie的值为cookie.php(鼠标右键—检查)
2.在网址后面加上 /cookie.php ,提示查看http响应包(response),在网络一栏,可看到访问cookie.php的数据包 (响应头)
3.点击查看数据包,在消息头内可发现flag

disabled_button

提示:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?

打开页面,发现按钮无法点击。
方法一:
F12查看源码
发现input标签有个disable属性
disabled 属性规定应该禁用 input 元素。
被禁用的 input 元素既不可用,也不可点击。可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等)。然后,就需要通过 JavaScript 来删除 disabled 值,将 input 元素的值切换为可用。
删除源码中的disable属性,按钮即可点击,然后得到Flag。

按动按钮即可得到flag
快捷键 FN+F12(检查/开发者选项)
检查—编辑HTML(E)删掉 disable="" —检查/刷新即可

按下按钮可以得到flag

方法二:
审计from表单代码,使用hackbar,用post方式传递auth=flag,然后点击execute即可按动按钮,同样可以获得flag


hackbar下载:火狐浏览器—右上角三条杠—扩展和主题—寻找更多附加组件
—搜索hackbar—添加到firefox—右键检查即可看到hackbar

weak auth

提示:小宁写了一个登陆验证页面,随手就设了一个密码。
了解弱口令爆破,掌握爆破方法
1.随便输入下用户名和密码,提示要用admin用户登入,然后跳转到了check.php,查看下源代码提示要用字典。

要用admin 加上随便一个密码 登录 然后抓包 暴力破解
2.用burpsuite截下登录的数据包,把数据包发送到intruder爆破
3.设置爆破点为password
4.加载字典(load…)
5.开始攻击,查看响应包列表,发现密码为123456时,响应包的长度和别的不一样.

6.点进去查看响应包,获得flag

注:字典可以去百度下载(简单的弱口令字典就可以了)
不使用字典也可以(直接尝试0~99999999999)暴力破解,只不过要比较久
如果不会使用burp暴力破解的话可以去b站、csdn等搜教程(这里就不过多描述了)

simple php

提示:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
原理:

步骤:
简单审计下代码,发现需要以get的方式传入两个参数a和b。

php 类 型 比 较 表 https://www.php.net/manual/zh/types.comparisons.php
简单说:
a参数的要求 a必须等于0且a为真
b参数的要求 b不能为数字且b大于1234
这道题的核心问题是理解PHP语言的弱类型

构造命令:http://111.198.29.45:45627/?a=00a&&b=12345s
或者:http://111.198.29.45:45627/index.php?a=’0’&b=12345s
访问即可得到flag

注:有些文字我直接使用图片的形式(不知道为什么打上去会乱码,本人菜鸡小白第一次写,不懂这是为啥会乱码,所以只能在word上写,然后放截图了,以后会改进。需要复制的话可以将图片在QQ上发送给自己,然后右击图片提取文件。)

get_post

提示:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?
工具:firefox及其插件hackbar(在检查/开发者选项中打开)
知识补充:
 两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和
POST。
{
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
}
<用 GET 给后端传参的方法是:在?后跟变量名字,不同的变量之间用&隔开>
在 url 后添加/?a=1 即可发送 get
利用 hackbar 进行 POST 传参:复制 get 的 url,选择 postdata,填入 b=2,选择 execute。即
可发送 POST 请求
解题方法:
1.get传递直接在网址上构造传递a=1(构造?a=1)或者hackbar
2.Post传递勾选hackbar上的post data,用post方式传递b=2,点击excute 可获得flag

xff_referer

提示:X老师告诉小宁其实xff和referer是可以伪造的
知识点:
X-Forwarded-For(XFF)是用来识别通过均衡HTTP代理或负载方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。 Squid 缓存代理服务器的开发人员最早引入了这一HTTP头字段,并由IETF在HTTP头字段标准化草案中正式提出。
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。
X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项

解题过程:
1.打开firefox和burp,使用burp对firefox进行代理拦截,在请求头添加X-Forwarded-For: 123.123.123.123,然后放包

2. 接着继续在请求头内添加Referer: https://www.google.com,可获得flag
看到这句话就知道应该是要使用 burp 抓包修改 ip 地址,
在请求中加入 X-Forwarded-For:123.123.123.123
得到响应,发现还要来自谷歌,想到 referer
添加 Referer: https://www.google.com,点击发送得到响应,从而得到最终 flag。

Flag:cyberpeace{b1acd0a82ad805f457be1baf9f9f9973}

Webshell(文件上传)

提示:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。(一句话木马)
打开题目链接(一句话木马)
知识点:
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理、服务器管理、权限管理等操作。使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站和服务器的管理。正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。
顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作命令。webshell主要用于网站和服务器管理,由于其便利性和功能强大,被特别修改后的webshell也被部分人当作网站后门工具使用。

工具:
firefox、hackbar、antsword/中国菜刀(两个类似)
方法一:
中国菜刀下载链接:
链接:https://pan.baidu.com/s/10lwD45TvXLOZ0GELD9XgkQ
提取码:mxnb
antsword(蚁剑)
这个文件比较大,百度网盘需要开会员才可以上传大文件
有需要可以自行去csdn搜 antsword(蚁剑)下载安装 教程很多哦。
下面给出我用蚁剑的做题过程(中国菜刀类似)

1.直接提示给了php一句话,可以用菜刀或蚁剑连接,此处用蚁剑链接:

2.连接后在网站目录下发现了flag.txt文件,查看文件可获得flag

方法二:
可以使用hackbar,使用post方式传递shell=system(‘cat flag.txt’); 获得flag
1.访问http://111.200.241.244:59144/
2.根据提示访问http://111.200.241.244:59144/index.php
(此时已将一句话木马上传至服务器。可直接利用)
3.shell=phpinfo();

4.shell=system(ls);


方法三:
盲猜flag.txt直接访问之

方法四:
使用hackbar或其他工具提交post数据:
shell=system(“grep -r cyberpeace ./”);
或者 shell=system("find ./ -name flag -exec cat {} ;|grep 'cyberpeace


原本burp请求方法为get


command_execution(命令执行)

提示:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗
知识点:
| 的作用为将前一个命令的结果传递给后一个命令作为输入
&&的作用是前一条命令执行成功时,才执行后一条命令

掌握命令拼接的方法
1.打开浏览器,在文本框内输入127.0.0.1 | find / -name “flag.txt” (将 | 替换成 & 或 && 都可以),查找flag所在位置,如图所示。
2.在文本框内输入 127.0.0.1 | cat /home/flag.txt 可得到flag
掌握有关命令执行的知识
windows 或 linux 下:
command1 && command2 先执行 command1,如果为真,再执行 command2
command1 | command2 只执行 command2
command1 & command2 先执行 command2 后执行 command1
command1 || command2 先执行 command1,如果为假,再执行 command2
命令执行漏洞(| || & && 称为 管道符)
到上一级目录看看有啥 127.0.0.1 && ls …/
127.0.0.1&&ls 获取当前目录
寻找“.txt”文件,输入命令 127.0.0.1 &&find / -name “*.txt”,发现了flag文件
Flag:cyberpeace{d4354cb3d5e6bf6829a449a64358fc93}

simple_js(代码审计)

提示:小宁发现了一个网页,但却一直输不对密码。
(Flag格式为 Cyberpeace{xxxxxxxxx} )
查看源代码(代码审计)
avascript的代码审计

方法一:
1.打开页面,查看源代码,可以发现js代码,如图所示。
2.进行代码审计,发现不论输入什么都会跳到假密码,真密码位于 fromCharCode 。
3.

先将字符串用python处理一下,得到数组[55,56,54,79,115,69,114,116,107,49,50],exp如下。
s="\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"
print (s)
5.将得到的数字分别进行ascii处理,可得到字符串786OsErtk12,exp如下。
a = [55,56,54,79,115,69,114,116,107,49,50]
c = “”
for i in a:
b = chr(i)
c = c + b
print©
阅读代码,逐步整理。
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;
}
去除无用变量得到:
function dechiffre() {
var pass = “70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65”;
var tab2 = pass.split(’,’);
var i, n, p = “”;
n = tab2.length;
for (i = 0; i < n; i++) {
p += String.fromCharCode(tab2[i]);
if (i == 5) break;
}
for (i = 0; i < n; i++) {
if (i > 5 && i < n - 1) p += String.fromCharCode(tab2[i]);
}
p += String.fromCharCode(tab2[17]);
return p;
}
末尾并入循环得到:
function dechiffre() {
var pass = “70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65”;
var tab2 = pass.split(’,’);
var i;
var p = “”;
for (i = 0; i < tab2.length; i++) {
p += String.fromCharCode(tab2[i]);
}
return p;
}
就逻辑上可见它只是将内容为逗号分隔的数字的字符串转成相应编码的字符串。
将代码修改,用下方的可疑字符串代替函数中的常量,得到的整个网页代码是:

JS 保存为以HTML后缀的文件再用浏览器打开即可见结果。 1.按照页面回显结果和源码判断,不论输入任何密码,中都会跳转到错误密码 ![在这里插入图片描述](https://img-blog.csdnimg.cn/604b652ab54a450e9a3ad25900539010.png) 这个字符串便是flag,通过提示 的flag格式我们知道 flag为:flag{786OsErtk12}

方法二:
查看网页源码
发现这段JS代码表示完全无论我们输入的什么内容,结果都是一样的,所以判断这段代码无用。
有用的是:
String"fromCharCode";
写python脚本进行转码即可:
string = “\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”
s = string.split(",")
c = “”
for i in s:
i = chr(int(i))
c = c+i
print©
786OsErtk12
split() 方法用于把一个字符串分割成字符串数组。
提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
注意: split() 方法不改变原始字符串。
代码的功能是把一串用逗号分隔的数字按ASCII转成字符串
本段代码为16进制
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\x

规范flag格式,可得到Cyberpeace{786OsErtk12}

方法三:

方法四:



Flag:Cyberpeace{786OsErtk12}

@总结

我是菜鸡小白,第一次写文章,如有不足之处,还请多多指教。

攻防世界-web新手区wp相关推荐

  1. 攻防世界web新手区(来自小白)*-*

    鄙人是个纯纯的小白,这个博客也是给小白写的,不过大佬们也不会来查这些题的wp吧 拍飞 文章目录 攻防世界WEB新手区(1--11) 第一题view_source 第二题robots 第三题backup ...

  2. 【pwn】攻防世界 pwn新手区wp

    [pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...

  3. 攻防世界——web新手区(全解)

    当前网络安全形式越来越严重,我国也越来越重视,现在国内乃至国际上各个网络攻防大赛层出不穷,但是练习平台却还是很稀缺,可以说目前网上能够练习的平台也就只有几家,大多数的院校它们有自己的练习平台但并不公开 ...

  4. 攻防世界-Web(新手区)

    前言 暑假前,为了学习Web题,做了攻防世界的新手区的Web题,当时没有总结,现在总结一下. 正文 Web1:view_source 查看源代码,右键不可以用.所以按F12,直接查看源码即可. Web ...

  5. 攻防世界web新手区easyphp题解writeup

    写在前面 最近在学习CTF web相关知识,顺带学习php,在攻防世界平台上做做题.遇到了一道名为easyphp的题目,对我这个新手一点也不easy,于是决定把过程记录下来. 参考了官网上shuita ...

  6. 攻防世界web新手区合集

    攻防世界(xctf)做题合集-get_post- robots-backup-cookie-disabled_button-simple_php-weak_auth-xff_referer-simpl ...

  7. 2019攻防世界web新手区

    robots 看了题目描述,发现与robots协议有关,过完去百度robots协议.发现了robots.txt,然后去构造url访问这个文件  http://111.198.29.45:42287/r ...

  8. 攻防世界web新手区解题 /cookie / disabled_button / weak_auth

    cookie 题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:'这是夹心饼干的意思吗?' 使用burp suite抓包查看 发现提示: look-here=cookie.php 于 ...

  9. 攻防世界web新手区解题 view_source / robots / backup

    1**. view_source** 题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了. f12查看源码即可发现flag 2. robots 题目描述:X老师上课讲了 ...

最新文章

  1. java 自定义tostring_自定义java toString方法
  2. 找到一本不错的Linux电子书,附《Linux就该这么学》章节目录。
  3. es6 babel转码器使用
  4. except的实践经验
  5. 关于runjs的一些想法
  6. tcp对连接断开的感知——保活定时器
  7. 解封装(一):ffmpeg解封装
  8. ShardingSphere RAW JDBC 分布式事务XA 代码示例
  9. Centos6.3下Ganglia3.6.0安装配置
  10. 关于Bayesian Decision Theory的几个问题
  11. 石河子大学计算机专业录取分数线,石河子大学2020年录取分数线(附2017-2020年分数线)...
  12. 2021年建筑架子工(建筑特殊工种)证考试及建筑架子工(建筑特殊工种)模拟考试题
  13. Excel常用公式与函数总结(Excel 2010)
  14. java如何实现计费软件_基于jsp的网吧自动计费收费管理系统-JavaEE实现网吧自动计费收费管理系统 - java项目源码...
  15. 测试成本--半导体测试最大的障碍
  16. js实战 网页五子棋进阶版
  17. linux全盘备份软件,Linux 全盘备份恢复工具(Clonezilla)
  18. 通过身边小事解释机器学习是什么?
  19. mysql查询两个字的人名_mysql 怎么通过一条sql查询出 两个人员的名字
  20. java实训第七次作业(宠物店领养动物)

热门文章

  1. 大数据学习阶段,每天2小时学习,成就不一样的自己
  2. Java程序员必备基础:内部类解析
  3. 汇编语言与汇编器(目前有哪些汇编语言与汇编器)
  4. Damien Katz弃Apache CouchDB,继以Couchbase Server
  5. Damien Rice - 9 crimes
  6. 计算存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域
  7. 核心转储文件的设置和查看
  8. JSP禁用迅雷等下载工具下载文件,强制使用右键另存功能下载文件
  9. Android第三方支付——Bmob支付总结
  10. 搜狗2012 9 23校园招聘会笔试题