一.html任务以及技能树学习

任务摘要:

1.学习html知识,利用phpstudy软件,html输出学号姓名,加分项:用html写一个登录框

2. 学习markdown语法

3.在ctfhub平台https://www.ctfhub.com/#/index 完成 技能树中的基础知识,web中的前置技能,以及信息泄漏,密码口令;加分项:web中的sql注入(精力旺盛的可以多写写)。掌握其中的工具,总结其中的知识点。()

先导知识

1.<!DOCTYPE html>

声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。

document.compatMode:

BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。

CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。

这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat,

浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式.如果你的页面添加了<!DOCTYPE html>那么,那么就等同于开启了标准模式那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

这就是<!DOCTYPE html>的作用

2.html标签中的<meta charset="utf-8">

告知浏览器此页面属于什么字符编码格式,下一步浏览器做好“翻译”工作。

3<meta>标签用来提供有关html文档的元数据,

元数据不会显示给用户看,但浏览器可以识别,同时对SEO(搜索引擎优化)起着重要作用

首先我们下载安装phpstudy

1.启动Apache

2.在桌面编辑好后缀为.php的文本文档,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
学号: </br>
姓名:
</body>
</html>

将该php文件放进根目录中的WWW文件夹之中,确保apache开启,不要删除index.html文件,在浏览器输入域名并打开 

3731140175b740c0b4174a30adc9cf8f.png

Markdown 是一种可以使用普通文本编辑器编写的轻量级标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,可以导出 PPT、LaTex、HTML、Word、PDF、Epub、JPG 等多种格式的文档,文档后缀为 .md。

有一部分小伙伴被这个【轻量级】、【标记】、【语言】等名词直接劝退,还口中言语:【已经学了这么多种语言了】,【我不要再学新语言了】之类的话,我要说的是,你大概误会它了,Markdown 的语法可以说是非常简单,简单到常用的语法操作不超过十个,相较于同为标记语言的 HTML 来说,Markdown 被称为小儿科也不为过,学习成本极低,上手率超高,并且一旦熟悉这种语法规则,稍加练习,就会有一劳永逸的效果,回报率极高

1.markdown换行方式有很多种

直接在一句话后面敲两个空格

两句话之间加一个空行

如果你在编辑的时候,想让一行文字分成几段在显示的时候换行,就在中间加</br>

2.Markdown加粗写法

< b > 加粗内容 < / b >

3.<table border="1">

border 属性规定表格单元周围是否显示边框。

值 "1" 指示应该显示边框,且表格不用于布局目的

4.标题

一级标题对应一个#

二级标题对应两个#

以此类推,共六级标题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ikun天地</title>
	<center><b>登录框</b></br>
<table border="1">
	<body>
<form action="">First name:<input id="username" type="t"></br>
Last name:<input type="password" value=""  id=""></br>
		<input type="submit"value="提交">
		</form>
		</center>
<input type= "reset'>
    </body>
</html>

f50d9231811944cb9ad3d4f24948ecbc.png

ctfclub基础知识

竞赛模式

Jeopardy-解题

计分方式:前三额外计分或者动态积分

题目类型:主要包含 Web 网络攻防 、 RE 逆向工程 、 Pwn 二进制漏洞利用 、 Crypto 密码攻击以及 Misc 安全杂项 这五个类别,个别比赛会根据题目类型进行扩展。

AwD-攻防模式

A ttack w ith D efense(AwD)全称攻防模式。每个队伍之间的GameBox配置及漏洞是完全一致的,攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续24至48小时左右),同时也比团队之间的分工配合与合作。

AWP-攻防增强

攻击模式下,平台会给出题目的访问链接,选手按照解题模式做题提交flag即可完成攻击,当完成攻击后, 每轮计算分数时均会计算该题目的攻击得分。

防御模式下,选手需要自行挖掘题目的漏洞,并制作漏洞补丁包上传至平台,之后点击验证。验证时平台会新建一个完全干净的题目环境,使用预置的Exploit进行攻击,若攻击成功当验证通过之后(即已经完成修补),每轮计算分数均会认为该题目已防御。

ADP通常仅包含WebPwn两种类型的题目

仅攻击一次,防御一次

RHG-自动化[ AI自动化]

利用人工智能或是AI或是自动化攻击程序来全自动的挖掘并利用漏洞,考验选手对于漏洞理解以及工程化能力,选手需要编写自动化程序来请求接口获取题目相关信息,该类程序通常称之为bot,在程序中全自动访问并挖掘目标漏洞,完成利用漏洞攻击并获取flag的过程。获取到的flag也由程序自动化提交。RHG因为是由bot全自动进行工作,所以比赛开始即可视为结束。剩下的一切全看参赛选手编写的自动化bot的工作情况。

比赛过程中不允许选手对bot进行任何的操作(包括debug/patch等等)。选手仅能看到自己的bot完成了哪些题。目前的得分情况等等。

RW-真实世界

常见题型为VM/Docker逃逸、针对浏览器的攻击、针对IoT/Car等设备的攻击,Web类攻击等等,上台演示攻击,无flag类型竞赛

KoH-抢占山头

类似于AwD,面对的是一个黑盒的目标,挖掘漏洞并利用漏洞控制目标,token或者队名写入到指定文件,并加固,主办方会定期去检查标识文件,根据文件中的队伍标识来判定本回合分数给予哪个队伍

Mix[混合]

以上多种赛制自由组合,满足选手竞赛需求

比赛形式

线上赛多为初赛, 线下赛多为决赛

线上

选手通过主办方搭建的比赛平台在线注册,在线做题并提交flag,线上比赛多为解题模式,攻防模式较为少见。通常来说对于长时间未解出的题目,主办方会酌情给出提示(Hint)来帮助选手做题。

线下

解题+AWD ,解题+RW 等等

 题目类型

5个大类,有时增加如移动设备(Mobile), 电子取证(Forensics)等,近年来也会出来混合类型的题目,例如在Web中存在一个二进制程序,需要选手先利用Web的漏洞获取到二进制程序,之后通过逆向或是Pwn等方式获得最终flag


Web

考验web攻防,考点SQL注入XSS代码执行代码审计等等,一般情况下Web题目只会给出一个能够访问的URL。部分题目会给出附件

Pwn

考验二进制漏洞的挖掘和利用堆栈溢出格式化漏洞UAFDouble Free等常见二进制漏洞上,对题目中二进制可执行文件进行逆向分析,找出其中的漏洞并进行利用,编写对应的漏洞攻击脚本(Exploit),进而对主办方给出的远程服务器进行攻击并获取flag通常来说Pwn类题目给出的远程服务器信息为nc IP_ADDRESS PORT,例如nc 1.2.3.4 4567这种形式,表示在1.2.3.4这个IP的4567端口上运行了该题目

Reverse

Re类题目考察选手逆向工程能力。题目会给出一个可执行二进制文件,有些时候也可能是Android的APK安装包。选手需要逆向给出的程序,分析其程序工作原理

Crypto

Crypto类题目考察选手对密码学相关知识的了解程度,诸如RSAAESDES等都是密码学题目的常客。有些时候也会给出一个加密脚本和密文,根据加密流程逆推出明文。

Misc

Misc意为杂项,题型有图片隐写、视频隐写、文档隐写、流量分析、协议分析、游戏、IoT相关等等。五花八门,种类繁多。

首先安装

brup suite 

改环境变量,网上的教程有区别,添加的变量也不一样,系统变量可以映射到所有用户,所以不用改用户变量了,头皮发麻%&……%¥……*(&76后面经过不懈努力删了几个jdk终于改对了

brup在cmd中打开的代码,写成.bat 打开

java -noverify -Xbootclasspath/p:burp-loader-keygen-2020_2.jar -jar burpsuite_pro_v2020.2.jar

cc04094b844a42bc8c4ee0e36a325246.png

 HTTP请求

host: 主机名

User-Agent:客户端基本环境信息

Content-Type:传参的类型

Content-Length: 请求包长度

Referer: 上一步来源。

X-Forwarded-For:当前身份ip

Cookie:用户身份标识

题目提示使用CTFHUB 方式,于是burp改包

302响应

打开环境点击give按钮打开火狐,查看网络监视器,发现有一个302请求,使用crul -v url命令(url是302请求对应的url)

 cookie

仅有admin可以得到flag,将admin=0改成admin=1即可

基本认证

题目:HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP(打不开)

 用别人搜出来的看看

下载附件尝试账号密码发现有如下参数

Authorization: Basic MTIzNDU2OnBhc3N3b3Jk

可以猜测账号为admin

将有base64加密编码的请求添加进intruder,按下图所示配置好字典

第一次失败,寻找原因,应该是放错了请求

 

应该放这个请求 

解码发现

少了个:(加上!) 

发现还是有问题,再坚持检查一下,改请求,按照status大小排列得到

 重发查看

 查看响应得到flag

响应源代码

嗯....

好直接,真的就在响应包源代码里

目录遍历

 636237cd77484c5da9acd76dab68e01e.png

目录中点击寻找.over) 

                                          phpinfo

7f99ad6f045c47cf83d7afcb1da7e0e0.png

 页内查找flag

  网站源码(扫描备份文件)

python源码扫描备份文件:

for in遍历数组(最好在循环对象属性使用)

code == 200 客户端请求已成功。

import requests

url = 'http://challenge-691b238771fca9ae.sandbox.ctfhub.com:10800/'

li1 = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp', '']
li2 = ['zip', 'rar', 'tar', 'tar.gz', 'git', 'svn', 'swp', 'bak']

for i in li1:
    for j in li2:
        url_final = url + i + "." + j
        r = requests.get(url_final)
        if r.status_code == 200:
            print(url_final + '    ' + str(r))
            with open('200.txt', 'a', encoding='utf-8') as f:
                f.write(url_final + '    ' + str(r) + '\n')
        else:
            print('鸡你太美')

0cd9d6c4ee3d4443a2d1e10148a1587c.png

 1adaf3a27478442f8f248c5f9b8d1470.png0ed1f624350e4370adba675b4badd9ad.png

disearch

由python开发的目录扫描工具j

目的是扫描目标网站的敏感文件和目录从而找到网站的突破口。使用方法

--help 显示此帮助信息并退出

-u 指定网址

-e 指定网站语言

-w 指定字典

-r 递归目录(跑出目录后,继续跑目录下面的目录)

-random-agents 使用随机UA

sudo apt-get install dirsearch

python版本太高,貌似安装不了???(其实不是,后面安装好了,方法没弄对)

或者直接加后缀.index.php.bak

vim缓存

好像一定要下载vim编辑器

....没下...

正常应该是在linux的vim编辑器运行一下就ok

/.index.php.swp
 

用学长发的typora打开才能看见flag 有关内容

(不知道为什么,有空问问)

先将/.DS_Store加入后缀得到文件,去除空格后加入后缀得到flag

GIT泄露

用git clone装了disearch

先用disearch扫一遍 git后缀一片 绿色,

说明存在git泄露,根据提示使用githack根据大哥的博客得知一定要在py2的环境下运行,

打开readme.txt说支持py3,今年4月开始,在文件夹打开cmd

 找到这个

学习了一下git语法

git log 查看提交的历史记录

git log与题目呼应

弄了很久

git在windows里问题很大,命令经常执行不了,和盘权限可能也有关系吧大概... 

 弱口令

本质上就是导入常用弱口令字典爆破,多下载几个试试可以了

我用的是这个

SuperWordlist/FastPwds.txt at master · fuzz-security/SuperWordlist · GitHub

重发得到response

 FLAG突然提交不了,发现代理没关,关掉...

 默认口令

有验证码...先想到用python的验证码库搭配burp爆破

SQL注入:
是一种将SQL语句插入或添加到应用(用户)的输入参数中的攻击
参数传递给SQL数据库服务器解析执行
根据sql数据类型分为
整型注入
字符串类型注入
在ctfclubSQL整形注入第一题分析思路:
①首先判断是否能够注入
1.1 and 1=1/1 and 1=2回显
在该例子中前者返回正确说明在查询完“id=1”之后执行了and及其之后的语句,存在SQL注入漏洞
 

②得到此表的列数
order by:用于对结果集按照一个列或者多个列进行排序(默认升序ASC).
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值