***经验谈
MSSQL SA
权限***的感悟
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
想必大家都知道
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
的
NB Commander
(
NB Tree_List
)功能了(在这里我推荐大家用
NB Commander
,为什么呢?看完文章就知道了),不过找出网站所在的真实路径需要花一定的时间,那就看你有没有耐心了。我敢说只要有耐心,肯定能找出网站所在的真实路径。这里我找到了这个站点所在的路径
D:\9x3x9
,接着就是后台了,很快就得到
Admin/login.asp
,接下来就是账号和密码的猜解了。不过我这次猜解出现了问题。说什么也弄不出他的账号和密码,难道都是空的?我不相信,就试着登录了一下,结果失败了。于是从这开始,
NB Commander
功能就显得非常重要了
(
因为大家都知道,列目录
NB Command
和
NB Tree_List
都能实现
)
,我找到文件
conn.asp
,用
type D:\9x3x9\admin\logining.asp
命令看了看源代码。
够狠吧!读了读代码没有问题呀!就是用的
admin
表字段也一样,不多说了,谁能知道其中的原因?请告诉俺一下,也让俺这只菜鸟走出困惑。进不了后台怎么上传图片呢?这里我用
NBSI
的上传功能,我试过了,没有成功。因为我传上去后,看到代码每行都重复三次,也不知是为什么,就是用臭要饭的
Getwebshell
也是同样的结果。
我想有了,看看它的
Session
是怎么验证的,又是一个
type D:\9x3x9\admin\quanxian.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
中置入了较大的对象(如
ADO recordsets
,
connections
,
等等),那就有麻烦了!随着站点访问量的增大,服务器将会因此而无法正常运行!
因为创建
Session
变量有很大的随意性,可随时调用,不需要开发者做精确地处理。所以,过度使用
session
变量将会导致代码不可读而且不好维护。
这样我找到上传图片的地方,把
asp
***改成
.gif
传了上去,记住了上传后的名字,这里是
uploadpic\2xx56171430123.gif
,那么你会想到什么呢?哈哈我想起来了,把图片
copy
成
.asp
的,或者重命名成
.asp
的。
好了,到这里我们的马就算是上去了,至于以后的事情就不提了。
总结:
SA
的确给我们带来了很大危害,所以程序员在连接
MSSQL
数据库的时候千万不能用它,否则服务器成为肉鸡的可能性非常非常的大。还有,
MSSQL
的扩展存储功能,用不到它就删除,留着就成了***的利器。
转载于:https://blog.51cto.com/litaobest/101130