Web入门之攻防世界

最近看了一下Web类型的题目,感觉还是很有趣的~学会了查看源码,也就是F12还有使用view-source:,当时还是感觉很有成就感的,感觉自己看到了一些不一样的东西~哈哈

然后百度以后了解了一下《Http权威指南》这一本书,毕竟称它是Web安全的葵花宝典、九阴真经,这本书就像一本字典,有很多东西,入门的我看了以后,只能说基本上了解了Web这方面的基础,很多东西看了就忘了,还是要多去实践。

接着通过XCTF攻防世界入门的基础题进行了练习。

0x1-view_source

直接用前面说到的方法查看源码就可以看到flag了

用“view-source:”
用F12:

0x2 -get_post

题目界面:

根据题目,我们GET方法提交数据,直接写在URL里面,然后得到如下页面。

然后利用Firefox的Hackbar插件,如下,点击Execute即可得到flag。

补充一下知识点:关于GET方法和POST方法的不同~

  • GET方法就是从指定资源请求数据,这样的方式将请求的数据直接加入到URL中,因此其安全性不强,对任何人都可见,可以缓存,也是由于它是在URL中,所以它的长度也受到了限制(URL最大的长度是2048个字符),以?来分割URL和所传输的数据,以&来连接多个参数。
  • POST方法向指定的资源提交需要被处理的数据,它将数据包在Http的包里,数据更加安全,不会被缓存在浏览器历史或者Web服务器日志里面。此次传输数据就是利用了Firefox的Hackbar插件将数据包好以后发送,最后得到了响应,拿到flag。

0x3 -robots

第三题是关于robots协议的题目,打开题目页面:空空如也。。。

根据题目的提示,我们打开robot.txt,发现如下内容:

题目提示,我们试着访问一下flag_1s_h3re.php:

拿到flag。

关于robots协议,知识点补充:

robots协议又叫爬虫协议、机器人协议,通过robots协议告诉搜索引擎哪些页面可以抓取、哪些不能抓取,用于防治搜索引擎抓取敏感信息,维持网站和搜索引擎之间的平衡。一般来说,网站是通过robots.txt来实现robots协议。

从上面的图中 ‘*’表示任何用户,disallow:f1ag1s........,就是表示不允许任何用户访问f1ag_1s.......

下面是网上查到一些用法的解析:

0x4 -buckup

题目页面:

buckup file(备份文件)

第四题需要利用到dirsearch,它的安装,需要建立在Python3.x的基础上,如果不安装好环境,它就运行不了。使用的时候可以使用自带的powershell,来运行dirsearch。

根据题目的提示:

利用dirsearch工具扫描目录经过它的扫描就会发现所谓index.php的备份文件(bak表示备份文件)

在图上(状态码403表示请求被服务器拒绝,200表示成功)

直接在url上访问index.php.bak,就会得到一个弹出的下载页面

下载后就会得到flag了

0x5 -cookie

补充知识点:

cookie(储存在用户本地终端上的数据),‘小甜饼’,指某些网络为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密),可以叫做浏览器缓存。小甜饼指的是一种小量信息,是一种纯文本,没有可执行代码,它浏览器记住访客的信息,以便下次的访问、登录,不仅实现了网站对用户的自动识别,还能实现浏览器对用户进行个性化的服务。

题目页面:

本题先使用Burp Suite进行抓包,先将浏览器的代理改为Burp Suite(总之就是要让Burp Suite和浏览器是在一个端口,这样才能抓到你想要的)

发现一个cookie.php,在URL中打开以后发现一个新的页面

查看Burp Suite,发现flag

0x6 -disabled_button

题目页面:

f12以后将标记为黄色的地方(disabled去掉dis):

就会发现flag可以点击了!点击flag:

0x7 -simple_js

页面出现一个弹窗:

随意填入一个值:

用view-source:查看源码:

补充:

fromCharCode函数:通过ascii来获取字符串。

string.fromCharCode:根据指定Unicode编码中的序号来返回一个字符串。

chr():返回一数值表达式值为编码的字符,就是传入一个数值返回这个数值相应的ascii码字符。

发现一个解码函数。分析函数可以发现,我们在页面输入的pass_enc其实是在架空的状态,只出现了两次,其他的相关的操作都是pass在进行,我们先将上面很可疑的pass转化为字符串:

【ps:注意缩进哦!】【end=‘’使字符串不会在末尾增加换行符】

我们可以发现这就是==后来弹窗里面的字符!

我们再将正确的输入也就是后面的\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进制,再转化为字符,找到flag。

786OsErtk12再加上题目所说的格式就是flag~

0x8 -xff_referer

题目页面:

伪造地址,可以用Burp Suite的抓包再改包,在url

右键点击send to Repeater,再到上方的Repeater就可以进行修改了,在http头加一句X-Forwarded-For:123.123.123.123即可,然后点Go,就会出现如下页面:

根据题目提示,我们可以猜测响应必须来自谷歌(Burp Suite不是汉化版的,有些字显示不出来),在后面再加一条Referer:https://www.google.com,点击Go,出现flag~:

0x9 -weak_auth

题目页面:

任意填入一个用户名和答案就会发现一个弹窗:

我们选择用Burp Suite对它进行密码爆破,先右键点击send to Intruder

然后对相关的东西进行设定:

根据弹窗的提示,用户名必须是admin:

然后点击 Intruder、start attack,

发现123456这一项的长度和其他的不一样,说明他就是密码,查看响应,发现flag:

0x10 -webshell

页面:

<?php @eval($_POST['shell']);?>这是php一句话木马,用中国菜刀或者蚁剑等工具可以上传或执行命令,密码是shell。打开蚁剑:

找到flag:

下面是查到的网上的知识点补充:

0x11 -command_execution

WAF:Web应用防护系统

页面:

补充:

ping是windows、Unix、Linux系统下的命令,是网络诊断工具,也是必须掌握的DOS命令,利用机器IP地址的唯一性,给其发送数据包,要求对方返回一个同样大小的数据包来确定网络机器是否相连,以及时延多少。某些病毒木马会强行远程执行ping命令抢占网络资源。

当ping命令没有开WAF,需要想到命令注入,利用截断来执行行的命令,如'$' 和 ' ; '和 '|' 和 '-' 和 '(' 和 ' ) ' 和 ' " ' 和 '||' 和'&&' 和 '&' 和 '{' 和 '}'等

网络机器已连接

命令注入ls查看目录

查找flag文档

0x12 -simple_php

页面:

题目需要用GET方法提交a=0而且b不是数字且大于1234,当b=12345c时满足第一条,而后在进行比较时就会被强行转化为12345,也是满足的。

原文发布于微信公众号 - 安恒网络空间安全讲武堂(cyberslab)

原文发表时间:2019-05-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券