您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 绿盟CTF培训2018.9
CTF培训-WEB(基础篇)绿盟科技-华东服务交付部王晓勇WHOAMI绿盟科技-华东服务交付部九零,t00ls活跃会员iosmosisweb版块版主目录CONTENTS01CTF-赛事介绍04WEB-题目延伸以及如何学习02CTF-WEB工具的准备及考点CTF-赛事介绍a.CTF是什么?b.CTF题目类型c.CTF赛制01CTF是什么?CaptureTheFlag学习资讯安全攻防/防御的竞赛利用执行在目标电脑中的应用程序漏洞取得Flag解密藏在文件或程序中的FlagCTF题目类型Reverse✤参赛者会得到一个程序(binary),需在没有完整原始码的情况下分析程序,找到隐藏的信息或者改变程序运行流程✤静态分析(StaticAnalysis)✤不执行程序,单纯从反编译的程序代码、组合语言、程式流程图、Global&Staticdata等进行分析PwnWebCryptoForensic12354Reverse✤与Reverse相似,参赛者也會得到一个binary✤但目标是要攻击执行在对方主机上的binary,拿到对方主机控制权PwnWebCryptoForensic12354分析(analysis)➔找寻漏洞(bug)➔编写攻击程序(exploit)bugBufferoverflow,Useafterfree,…etcexploit利用程式漏洞从而获得主机控制权(getshell)ReverseWebCryptoForensic1354Pwn2ReverseWebCryptoForensic1354Pwn2✤常用工具:gdb啊✤杂凑(Hash)✤SHA、MD5ReverseWebCryptoForensic354Pwn2✤秘钥加密✤AES、DES(对称性加密)✤RSA(非对称性加密)1啊ReverseWebCryptoForensic345Pwn21✤分析网页框架➔找可控输入型漏洞➔攻击✤OWASPTop10啊ReverseWebCryptoForensic354Pwn21✤常用工具:开发者工具啊ReverseWebCryptoForensic354Pwn21✤常用工具:BurpSuite啊ReverseWebCryptoForensic354Pwn21✤图片文档✤调整色调✤看似是一張图片,其实图中有图啊ReverseWebCryptoForensic354Pwn21✤网络流量(.pcap)✤分析包内的摘要及详细内容✤常用工具:WiresharkCTF赛制JeopardyAttack-DefenseMix解题模式攻防模式混合模式JeopardyAttack-Defense✤各队参赛者有自己的主机,主机上执行着各种有漏洞的服务✤攻击他队的服务的同时,也要防御自己的服务Attack-Defense✤分析主机上的服务,找到漏洞利用方式✤撰写攻击程序,攻击其他各队✤修补自己有漏洞的程序✤攻击成功(取得Flag)则得分,被他队取得Flag则扣分✦一般为每回合5分钟✦同一回合内,同个攻击程序,成功攻击越多队则分数越高Attack-Defense主办方会不定时测试参赛队伍的服务是否正常Attack-Defense服务不正常运作则扣分,扣除的分数平分给其他服务正常运作的队伍结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。MixCTF赛制✤装备++:✦良好的网络环境✦队员间资料共享✤技能++:✤漏洞挖掘、漏洞修补✤网络流量分析✤系统管理✤后门CTF赛制CTF-web工具准备以及考点原理02工欲善其事,必先利其器好用的浏览器插件以及优秀的webkit的内核webshell连接工具中国菜刀&&Cknife工欲善其事,必先利其器在Windows、Linux、Mac-OS等操作系统下,抓包工具-Burpsite(需要java环境)工欲善其事,必先利其器sqlmap是一款优秀的sql注入利用工具,他的强大不仅仅在于加个参数跑注入,在于优秀的tamper近年来web题目的考点•结合OWASPTop10每年的变化题目的偏重点也不一样,类型在于这些点变化•结合http协议,花样隐藏提示点,而提示为题目部分源码,提示题目类型等•组合题,难度偏高的题目往往打出组合题如:注入拿到后台账号密码,在后台通过上传或者命令执行,或者任意文件读取读取别的漏洞`GetFlag`,不仅仅是组合web类型,高难度赛场组合杂项以及隐写,加解密;国外的题目甚至组合Pwn+Web的类型出题最为简单的翻转变化隐藏类flag存在http响应(response)包里面,或者前提条件才会出现的最为简单的翻转变化隐藏类难度翻转篇,需要条件触发,隐藏在response或者给你一段源代码,你来分析逻辑最为简单的翻转变化隐藏类运用php==弱类型语言特性构造index.php?a=QNKCDZO&b=s878926199abypass拿到flagweb题中的代码审计块得到flag的条件是变量username和password不等,但是其经过md5加密后相等。若经过md5加密后是==,则可构造payload为?username=QNKCDZO&password=240610708;但此处是===,所以只能通过数组的方式来绕过,即构造的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题中的代码审计块此处变量$temp不能是数字,否则会报错;但是又要与十进制的3735929054相等;所以将3735929054的十六进制赋给password便可。构造的payload为?password=0xdeadc0deweb题中的代码审计块php://input和php://filter的巧用,在ctfweb题目中存在代码审计和任意文件读取,往往通过这样传入参数来达到我们想要的结果如下,当传进去的参数作为文件名变量去打开文件时,可以将参数php://传进,同时post方式传进去值作为文件内容,供php代码执行时当做文件内容读取web题中的代码审计块php://filter是PHP中独有的协议,利用这个协议可以创造很多“妙用”php://filter/read=convert.base64-encode/resource=php://inputweb题中的注入类注入题套路就那么多,本来就是让你注入的,无疑给你注入的时候加了点难度,盲注类型再加上点拦截规则,需要写脚本跑注入,无疑增加难度,但对于线上CTF选拔(中低场次比赛)而言,无疑是占着分值很大的web题中的注入类现在很多CTF比赛脑洞都出在了bool条件的构造,花式bool条件构造。web题中的注入类有时候where字句有括号又猜不到SQL语句的时候,可以有下列类似的fuzz逻辑判断基本就那些函数:web题中的注入类CTF中那些绕过注入的tips1.利用数据库特性,那些对于waf函数截断,比如%0a,%0b,%0c,%0d2.利用数据库的注释手法,比如前段时间研究出来的安全bypass/**!50000xxx**/xxx在关键字之间3.利用字符编码转义不同,比如GBK在CTF之间转换,比如宽字节,双url编码等,还有关键字绕过orunion为orroruniunion等web题中的注入类web题目目前的现状以及难度左边的一图胜遍千言,以前比赛都是web题目偏多,使我们web选手的热潮,随着每年漏洞类型的分布,中国ctf比赛也变成像国外一样Pwn为多,比如这两天的网鼎杯web题目只有一道!!毕竟web狗,pwn爷爷.web题目目前的现状以及难度来一道实例分析下,这是DDCTFweb题目第一题地址:数据库的秘密分析下,此题需要更改Request的XFF来伪造IP然后才能进入页面,经过分析每次都需要加上sign和时间戳,分析下有两种解决办法一种是分析js直接动态的js库分析然后调用,另一种是直接启动一个浏览器driver进行分析数据库的秘密后又分析出一个隐藏的author字段为注入点数据库的秘密因此分析下需求,需要盲主并且每次请求要带上自生成的函数,后又根据需求特编写以下脚本初始化webdirver数据库的秘密注入逻辑编写数据库的秘密注入部分结果#selectgroup_concat(SCHEMA_NAME)frominformation_schema.SCHEMATAddctf#selectgroup_concat(TABLE_NAME)frominformation_schema.TABLESwhereTABLE_SCHEMA='ddctf'ctf_key9,message#selectgroup_concat(COLUMN_NAME)frominformation_schema.COLUMNSwhereTABLE_SCHEMA='ddctf'andTABLE_NAME='ctf_key9'secvalue#selectgroup_concat(COLUMN_NAME)frominformation_schema.COLUMNSwhereTABLE_SCHEMA='ddctf'andTABLE_NAME='message'id,title,author,time,statusweb基础技能清单熟练web渗透测试技巧手段,因为题是根据漏洞来的熟练运用各个组合漏洞,最近的web题太考验选手对漏洞的掌握和运用基础能力,如DOM型xss读源码审计找漏洞然后利用6379未授权redis命令执行拿到flag,这种题在以前属于很难的,现在却属于基础题目一定的代码能力和框架漏洞利用能力要求可以编写脚本代码的能力如何学习?CTFTIME()如何学习?CTFTIME()如何学习?GitHub-CTFs()CTF学习HITCONKnowledgeBase()CTF学习PWN--学习-有着大量的练习题目Wargames()✤practicesecurityconceptsintheformoffun-filledgames✤W3Challs()谢谢!
本文标题:绿盟CTF培训2018.9
链接地址:https://www.777doc.com/doc-4395978 .html