活着的死人 发表于 2015-1-16 22:17:36

MSSQL网站制作之黑客履历谈 MSSQL SA权限进侵的感悟

从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。  想必人人都晓得MSSQL中SA权限是甚么,能够说是登峰造极。明天我就它的伤害再谈点儿,我所讲的是共同NBSI上传功效失掉WebShell。在讲之前先说几个前提,不然失掉Shell是有难度的。
  1.存在SQL注进,而且数据库范例是MSSQL。
  2.毗连数据库的权限必需是SA。
  3.背景必需有文件上传的程序。
  好了,我们找到一个网址hxxp://www.6x36x.com/fangchan/listpro.asp?id=53,用NBSI一会就一览无余了。
  很好,数据库范例是MSSQL,权限是SA,再看看第三个前提满意不满意。找到页面中的文章(旧事),看看内里的图片的地点是甚么。好!一看就分明了hxxp://www.6x36x.com/admin/uploadpic/2xx5042823082994329.gif,你分明了吗?出格是2xx5042823082994329.gif这下我们敢一定背景有上传文件的功效了。上面做甚么呢?晕,找出该网站地点的路径呀。这个嘛就得端赖NBSI的NBCommander(NBTree_List)功效了(在这里我保举人人用NBCommander,为何呢?看完文章就晓得了),不外找出网站地点的实在路径必要花必定的工夫,那就看你有无耐烦了。我敢说只需有耐烦,一定能找出网站地点的实在路径。这里我找到了这个站点地点的路径D:9x3x9,接着就是背景了,很快就失掉Admin/login.asp,接上去就是账号和暗码的猜解了。不外我此次猜解呈现了成绩。说甚么也弄不出他的账号和暗码,岂非都是空的?我不信任,就试着登录了一下,了局失利了。因而从这入手下手,NBCommander功效就显得十分主要了(由于人人都晓得,列目次NBCommand和NBTree_List都能完成),我找到文件conn.asp,用typeD:9x3x9adminlogining.asp命令看了看源代码。
  够狠吧!读了读代码没有成绩呀!就是用的admin表字段也一样,未几说了,谁能晓得个中的缘故原由?请告知俺一下,也让俺这只菜鸟走出狐疑。进不了背景怎样上传图片呢?这里我用NBSI的上传功效,我试过了,没有乐成。由于我传上往后,看到代码每行都反复三次,也不知是为何,就是用臭要饭的Getwebshell也是一样的了局。
  我想有了,看看它的Session是怎样考证的,又是一个typeD:9x3x9adminquanxian.asp。经由过程剖析很快就分明了,它给Session(“wsl”)赋了一个值为1,哈哈!我写了一个十分复杂的程序。用NBSI的上传功效传了上往,我想不论反复几回都是准确的(这里你又会想到甚么呢?假如暗码是MD5的,我们没有需要往爆破了,弄个session就ok了),传上往保留为1.asp,然后我会见hxxp://www.6x36x.com/admin/1.asp,接着会见hxxp://www.6x36x.com/admin/admin_index.asp,就如许进进了背景,当地测试。
  小提醒:Session变量和cookies是统一范例的。假如某用户将扫瞄器设置为不兼容任何cookie,那末该用户就没法利用这个Session变量!当一个用户会见某页面时,每一个Session变量的运转情况便主动天生,这些Session变量可在用户分开该页面后仍保存20分钟!(现实上,这些变量一向可保存至“timeout”。“timeout”的工夫是非由Web服务器办理员设定。一些站点上的变量仅保持了3分钟,一些则为10分钟,另有一些则保存至默许值20分钟。)以是,假如在Session中置进了较年夜的工具(如ADOrecordsets,connections,等等),那就有贫苦了!跟着站点会见量的增年夜,服务器将会因而而没法一般运转!
  由于创立Session变量有很年夜的随便性,可随时挪用,不必要开辟者做准确地处置。以是,过分利用session变量将会招致代码不成读并且欠好保护。
  如许我找到上传图片的中央,把asp木马改成.gif传了上往,记着了上传后的名字,这里是uploadpic2xx56171430123.gif,那末你会想到甚么呢?哈哈我想起来了,把图片copy成.asp的,大概重定名成.asp的。
  好了,到这里我们的马就算是上往了,至于今后的事变就不提了。
  总结:SA切实其实给我们带来了很年夜伤害,以是程序员在毗连MSSQL数据库的时分万万不克不及用它,不然服务器成为肉鸡的大概性十分十分的年夜。另有,MSSQL的扩大存储功效,用不到它就删除,留着就成了黑客的利器。

如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。比如说,如果某个数据列里包含的净是些诸如“0/1”或“Y/N”等值,就没有必要为它创建一个索引。

变相怪杰 发表于 2015-1-19 06:51:11

始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。

飘飘悠悠 发表于 2015-1-27 05:04:23

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。

谁可相欹 发表于 2015-2-5 01:36:58

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西

admin 发表于 2015-2-11 02:41:00

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

若相依 发表于 2015-3-1 19:53:50

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

不帅 发表于 2015-3-10 23:01:32

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)

山那边是海 发表于 2015-3-17 16:04:53

还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。

乐观 发表于 2015-3-24 10:43:43

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
页: [1]
查看完整版本: MSSQL网站制作之黑客履历谈 MSSQL SA权限进侵的感悟