《绿盟CTF培训2018.9.pptx》由会员分享,可在线阅读,更多相关《绿盟CTF培训2018.9.pptx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CTF培训-WEB(基础篇)绿盟科技-华东服务交付部 王晓勇WHO AM I绿盟科技-华东服务交付部九零,t00ls活跃会员iosmosis web版块版主目录CONTENTS 01 CTF-赛事介绍 04 WEB-题目延伸以及如何学习 02 CTF-WEB工具的准备及考点CTF-赛事介绍a.CTF是什么?b.CTF题目类型c.CTF赛制01CTF是什么?Capture The Flag学习资讯安全攻防/防御的竞赛利用执行在目标电脑中的应用程序漏洞取得 Flag解密藏在文件或程序中的 FlagCTF题目类型ReverseReverse 参赛者会得到参赛者会得到一一个程序个程序(binary)(
2、binary),需,需在在没没有完整原始有完整原始码的情况下分析程序码的情况下分析程序,找找到隐藏的信息或者改变程序运行流程到隐藏的信息或者改变程序运行流程 静态分析静态分析(Static Analysis)(Static Analysis)不执行程序,单纯从反编译的程序代不执行程序,单纯从反编译的程序代码、组合语言、码、组合语言、程式流程图、程式流程图、Global&Static data Global&Static data 等进等进行分析行分析PwnPwnWebWebCryptoCryptoForensicForensic12354ReverseReverse 与Reverse 相似,参
3、赛者也會得到一个 binary 但目标是要攻击执行在对方主机上的 binary,拿到对方主机控制权PwnPwnWebWebCryptoCryptoForensicForensic12354p分析(analysis)找寻漏洞(bug)编写攻击程序(exploit)pbugBuffer overflow,Use after free,etcpexploit利用程式漏洞从而获得主机控制权(get shell)ReverseReverseWebWebCryptoCryptoForensicForensic1354PwnPwn2ReverseReverseWebWebCryptoCryptoForens
4、icForensic1354PwnPwn2 常用工具:gdb啊 杂凑(Hash)SHA、MD5ReverseReverseWebWebCryptoCryptoForensicForensic354PwnPwn2 秘钥加密 AES、DES(对称性加密)RSA(非对称性加密)1啊ReverseReverseWebWebCryptoCryptoForensicForensic345PwnPwn21 分析网页框架找可控输入型漏洞攻击 OWASP Top 10啊ReverseReverseWebWebCryptoCryptoForensicForensic354PwnPwn21 常用工具:开发者工具啊R
5、everseReverseWebWebCryptoCryptoForensicForensic354PwnPwn21 常用工具:Burp Suite啊ReverseReverseWebWebCryptoCryptoForensicForensic354PwnPwn21 图片文档 调整色调 看似是一張图片,其实图中有图啊ReverseReverseWebWebCryptoCryptoForensicForensic354PwnPwn21 网络流量(.pcap)分析包内的摘要及详细内容 常用工具:WiresharkCTF 赛制JeopardyAttack-DefenseMix解题模式攻防模式混合模
6、式JeopardyAttack-Defense 各队参赛者有自己的主机,主机上执行着各种有漏洞的服务 攻击他队的服务的同时,也要防御自己的服务Attack-Defense分析主机上的服务,找到漏洞利用方式撰写攻击程序,攻击其他各队修补自己有漏洞的程序攻击成功(取得Flag)则得分,被他队取得Flag则扣分一般为每回合5分钟同一回合内,同个攻击程序,成功攻击越多队则分数越高Attack-Defense那我关机就好那我关机就好那我关机就好那我关机就好,你找到漏洞也打不到你找到漏洞也打不到你找到漏洞也打不到你找到漏洞也打不到?p主办方会不定时测试参赛队伍的服务是否正常Attack-Defense服务
7、不正常运作则扣分,扣除的分数平分给其他服务正常运作的队伍p结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。MixCTF赛制 装备+:良好的网络环境 队员间资料共享 技能+:漏洞挖掘、漏洞修补 网络流量分析 系统管理 后门 CTF赛制CTF-web工具准备以及考点原理02工欲善其事,必先利其器好用的浏览器插件以及优秀的webkit的内核webshell 连接工具 中国菜刀&Cknife工欲善其事,必先利其器p在Windows、Linux、Mac
8、-OS等操作系统下,抓包工具-Burpsite(需要java环境)工欲善其事,必先利其器sqlmap是一款优秀的sql注入利用工具,他的强大不仅仅在于加个参数跑注入,在于优秀的tamper近年来web题目的考点结合OWASP Top 10 每年的变化题目的偏重点也不一样,类型在于这些点变化结合http协议,花样隐藏提示点,而提示为题目部分源码,提示题目类型等组合题,难度偏高的题目往往打出组合题如:注入拿到后台账号密码,在后台通过上传或者命令执行,或者任意文件读取读取别的漏洞 GetFlag,不仅仅是组合web类型,高难度赛场组合杂项以及隐写,加解密;国外的题目甚至组合Pwn+Web的类型出题最
9、为简单的翻转变化隐藏类flag存在http响应(response)包里面,或者前提条件才会出现的最为简单的翻转变化隐藏类难度翻转篇,需要条件触发,隐藏在response或者给你一段源代码,你来分析逻辑最为简单的翻转变化隐藏类运用php=弱类型语言特性构造index.php?a=QNKCDZO&b=s878926199a bypass 拿到flagweb题中的代码审计块得到flag的条件是变量username和password不等,但是其经过md5加密后相等。若经过md5加密后是=,则可构造payload为?username=QNKCDZO&password=240610708;但此处是=,所以
10、只能通过数组的方式来绕过,即构造的payload为?username=1&password=aweb题中的代码审计块这里有两种方式得到flag,一是利用ereg()函数与strpos()函数的共同漏洞(ereg()比较一个数组和字符串时会返回-1,即变为-1=FALSE;传入一个数组给strpos()时,会出错返回null,即变为null!=FALSE。)所以可以构造payload为?password=二是利用%00对于ereg()函数的字符串截断漏洞(即ereg()无法将%00后的字符串读进去进行比较),所以可以构造payload为?password=1%00-web题中的代码审计块此处变量
11、$temp不能是数字,否则会报错;但是又要与十进制的3735929054相等;所以将3735929054的十六进制赋给password便可。构造的payload为?password=0 xdeadc0deweb题中的代码审计块php:/input 和 php:/filter 的巧用,在ctfweb题目中 存在代码审计和任意文件读取,往往通过这样传入参数来达到我们想要的结果如下,当传进去的参数作为文件名变量去打开文件时,可以将参数php:/传进,同时post方式传进去值作为文件内容,供php代码执行时当做文件内容读取web题中的代码审计块php:/filter是PHP中独有的协议,利用这个协议可
12、以创造很多“妙用”php:/filter/read=convert.base64-encode/resource=php:/inputweb题中的注入类注入题套路就那么多,本来就是让你注入的,无疑给你注入的时候加了点难度,盲注类型再加上点拦截规则,需要写脚本跑注入,无疑增加难度,但对于线上CTF选拔(中低场次比赛)而言,无疑是占着分值很大的web题中的注入类现在很多CTF比赛脑洞都出在了bool条件的构造,花式bool条件构造。web题中的注入类有时候where字句有括号又猜不到SQL语句的时候,可以有下列类似的fuzz逻辑判断基本就那些函数:web题中的注入类CTFCTF中那些绕过注入的中那
13、些绕过注入的tipstips1.利用数据库特性,那些对于waf函数截断,比如%0a,%0b,%0c,%0d2.利用数据库的注释手法,比如前段时间研究出来的安全bypass/*!50000 xxx*/xxx 在关键字之间3.利用字符编码转义不同,比如GBK在CTF之间转换,比如宽字节,双url编码等,还有关键字绕过 or union 为 orror uniunion 等web题中的注入类web题目目前的现状以及难度左边的一图胜遍千言,以前比赛都是web题目偏多,使我们web选手的热潮,随着每年漏洞类型的分布,中国ctf比赛也变成像国外一样Pwn为多,比如这两天的网鼎杯web题目只有一道!毕竟we
14、b狗,pwn爷爷.web题目目前的现状以及难度来一道实例分析下,这是DDCTF web题目第一题地址:http:/116.85.43.88:8080/ZVDHKBUVUZSTJCNX/dfe3ia/index.php数据库的秘密分析下,此题需要更改Request 的 XFF 来伪造IP然后才能进入页面,经过分析每次都需要加上sign和时间戳,分析下有两种解决办法一种是分析js直接动态的js库分析然后调用,另一种是直接启动一个浏览器driver进行分析数据库的秘密后又分析出一个隐藏的author字段为注入点数据库的秘密因此分析下需求,需要盲主并且每次请求要带上自生成的函数,后又根据需求特编写以下
15、脚本初始化webdirver数据库的秘密注入逻辑编写数据库的秘密注入部分结果#select group_concat(SCHEMA_NAME)from information_schema.SCHEMATA ddctf#select group_concat(SCHEMA_NAME)from information_schema.SCHEMATA ddctf#select group_concat(TABLE_NAME)from information_schema.TABLES where#select group_concat(TABLE_NAME)from information_sch
16、ema.TABLES where TABLE_SCHEMA=ddctf ctf_key9,messageTABLE_SCHEMA=ddctf ctf_key9,message#select group_concat(COLUMN_NAME)from information_schema.COLUMNS where#select group_concat(COLUMN_NAME)from information_schema.COLUMNS where TABLE_SCHEMA=ddctf and TABLE_NAME=ctf_key9 secvalueTABLE_SCHEMA=ddctf an
17、d TABLE_NAME=ctf_key9 secvalue#select group_concat(COLUMN_NAME)from information_schema.COLUMNS where#select group_concat(COLUMN_NAME)from information_schema.COLUMNS where TABLE_SCHEMA=ddctf and TABLE_NAME=message id,title,author,time,statusTABLE_SCHEMA=ddctf and TABLE_NAME=message id,title,author,ti
18、me,statusweb基础技能清单熟练web渗透测试技巧手段,因为题是根据漏洞来的熟练运用各个组合漏洞,最近的web题太考验选手对漏洞的掌握和运用基础能力,如DOM型xss读源码审计找漏洞然后利用6379未授权redis命令执行拿到flag,这种题在以前属于很难的,现在却属于基础题目一定的代码能力和框架漏洞利用能力要求可以编写脚本代码的能力如何学习?CTF TIME(https:/ctftime.org/)如何学习?CTF TIME(https:/ctftime.org/)如何学习?GitHub-CTFs(https:/ Knowledge Base(http:/kb.hitcon.org/)CTF学习 PWN-http:/pwnable.kr/CTF学习-有着大量的练习题目 Wargames(http:/overthewire.org/wargames/)practice security concepts in the form of fun-filled games W3Challs(https:/