攻防世界WP

新手练习区:

1.view_source

查看网页源代码的方式有4种,分别是:1、鼠标右击会看到”查看源代码“,这个网页的源代码就出现在你眼前了;2、可以使用快捷Ctrl+U来查看源码;3、在地址栏前面加上view-source,如view-source:https://www.baidu.com ; 4、浏览器的设置菜单框中,找到“更多工具”,然后再找开发者工具,也可以查看网页源代码。查看到了源码就拿到了flag。

2.get_post

此题考查两种传参,get和post传参

get:可以直接在URL 地址栏写入?a=1即可以上传

post:这里用到火狐插件hackbar进行post传参,按照要求可以得到flag

3.robots

robots协议是网站允许用户进行爬取的协议,在URL栏输入robots.txt可以查看此网站允许爬取哪些网页和内容,通过此题目提示去查看robots协议,观察到disallow:flag_is_h3re.php不允许我们爬取,而它不要我们看的一般就是有用的信息。手动在地址栏输入flag_is_h3re.php,就可以得到flag

4.backup(你知道index.php的备份文件名吗)

常见的备份文件后缀名有 .git .svn .swp .~ .bak .bash_history,一个一个试发现是index.php.bak,下载了文件后用记事本打开可以查看到flag

5.cookie

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息(百度百科)

根据提示需要查看cookie,此时可以用burp或者火狐cookie quick manager插件来查看cookie,发现有一个cookie.php的文件,打开过后,进一步可看到需要我们来查看http response,可以按下f12查看http response然后得到flag

6.disabled_button

flag,一个不能按的按钮,点击flag不能按,应该点击flag按钮过后就可以出现flag。前端的东西是很好修改的,按下f12开发者工具,修改源码,发现有一个disabled方法属性,于是删除disabled=这部分,将input切换为可用,然后就可以点击flag得到flag

7.simple_js

查看源码发现里面有一堆编码,将这一串编码进行解码可以发现是一串数字和字母的结合,再根据题目中的提示flag格式,猜测这就是flag里面的内容,将其输入,得到正确的flag

8.xff_referer

xff:X-Forwarded-For的简写,用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
referer:是告诉服务器我是从哪个地方来的

此时可以用burpsuite抓包添加xff和referer:

X-Forwarded-For=123.123.123.123

referer:https://www.google.com得到flag

9.weak_auth

此题为弱口令爆破,用burp suite选取字典爆破(因为是弱口令,所以首先就想到了admin和纯数字密码)

10.webshell

题目:你会使用webshell吗?下面给出了一个shell猜测此网站已经被注入了脚本,打开中国菜刀进行连接服务器,仔细搜寻浏览器,发现有一个名字为flag的文件夹,打开发现flag就在里面。

11.command_execution(命令执行)
根据题目要求,只是写了个ping而没有写waf,没有对查询语句进行一个过滤,因此可以利用此点对查询语句下手进而查得更多的信息。

在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令

随便ping一个地址再用&&操作符执行ping后面的命令

先尝试ping一个ls(在linus中可以查看当前目录下的文件夹)(但是我不清楚这里为什么是Linus)

然后利用find ./ -name name(文件夹名)直接搜索flag.txt文件,搜索到目录后再利用cat指令打开文件夹,cat 文件绝对路径。可以查看到flag。

12.simple_php

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

a参数的要求 a必须等于0且a为真

b参数的要求 b不能为数字且b大于1234

此时就可以传入参数?a=0a&&?b=1235d,这个表达式可以传入两个参数a和b,当扫面a时直到扫到字符为止,所以a的值是0,但是a本身是一个字符串不是空,所以不为false。而对于b,用is_numeric函数判断其是不是数字或者数字字符串,很明显赋值的b不满足则不执行退出,而其值为1235>1234所以flag2可以正常输出,最终和flag1拼接在一起得到完整的flag。

常见连接符
A;B 先执行A再执行B
A&B 简单拼接
A&&B A执行成功后才会执行B
A|B 显示B的执行结果
A||B A执行失败才会执行B

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值