前情回顾

WAF公司拦截到一个神秘的HTTP数据包,在这个包的表单字段中发现了SQL语句。目标指向80端口,而这正是nginx公司的地盘。详情参见:一个HTTP数据包的奇幻之旅

虚拟机的世界

一个安静的夜晚,我,一个新的线程诞生了!

我抬头一看,原来我降生的地方是在一个IE浏览器中,这里是一个Windows帝国!

一生下来就要干活了,拿着我的代码开始忙活。

忙碌了一会儿,正当我在磁盘上写入了一个kernerl32.dll文件,我突然被冻结了,动弹不得,不仅如此,我看到其他线程也被冻结了,整个Windows帝国像是被冰封了一般!

“小样,总算现出了原型,果然是一个漏洞攻击网页!”,周围突然响起了一个声音。

“谁?谁在说话?”,我大声呼喊。

“别挣扎了,你现在在虚拟机里,命运由我掌控!”。

虚拟机?!原来这个Windows帝国是一个虚拟的世界,我开始为我的命运担忧起来。

突然,漆黑降临,身边的线程一个个消失,帝国大厦也陆续坍塌,终于,轮到了我,我这短暂的一生就这样结束了·······

这到底是怎么一回事?故事还得从那个被WAF公司拦下的HTTP数据包说起。

突袭nginx公司

WAF公司拦下那个数据包的当晚,黑衣人带队闯入nginx公司。

“把你们头儿叫来,我们是WAF公司的安全人员,发现一起针对80端口的SQL注入,经查80端口是你们nginx公司在监听”。

小马哥闻讯赶来,了解情况后,却松了一口气。

”这位大哥,80端口确实是我们在监听不错,但我们只是做代理转发,实际提供服务的是隔壁Apache公司,你们还是去他们那里看看吧“。

见黑衣人不信,小马哥拿出了公司的配置文件:

server {
listen 80;
location / {
proxy_pass http://127.0.0.1:8088;
}
}

黑衣人看罢,查了下8088端口的监听者,转身离去,直奔Apache公司。

发现案情

Apache公司当值的小胖被黑衣人的来势汹汹吓了一跳,表明来意后,小胖带着黑衣人来到了日志管理部门,开始分析起了这段时间的Web日志。

不看不知道,一看吓一跳,原来在WAF公司来到帝国之前,已经发生了多起的SQL注入事件!突然一条日志中的SQL引起了黑衣人的注意:

select url from imgs into outfile '/var/www/welcome.php'

  

这是向磁盘写入了一个文件啊!凭借多年经验,黑衣人断定welcome.php是一个webshell木马。

一旁的小胖也吓了一跳,赶紧解释说:大人,这不关我们Aapche的事儿啊,这是那个外包公司PHP搞的,是他们的问题。

黑衣人没有多言,连忙去帝国文件管理部去检查这个文件。

然而当黑衣人拿到这个文件后,发现它和自己见过的webshell并不一样,内容中出现了不少的js代码和大量的未知编码数据。

黑衣人想起远在Windows帝国的老周,或许他知道这是什么。

(关于老周的故事,欢迎移步:我是一个杀毒软件线程

361杀毒公司的老周收到了黑衣人的消息,开始对这个文件进行分析。

老周看着有点眼熟,但又想不起何时曾经见过。

老周不敢贸然让其运行,以防发生不测,决定将其放在一个虚拟的环境中运行,看看它的反应。

于是发生了前面的那一幕······

大战前夕

老周准备向WAF公司黑衣人反馈分析的结果。

老弟:

你让我分析的文件已经有结果了。昨天刚拿到的时候还觉得有点眼熟,今天一分析果然,之前我们这里的IE浏览器就曾经中过招!

这是一个包含浏览器漏洞攻击的网页,Windows帝国的IE浏览器只要一打开就会被植入木马程序。

详细的分析报告请在附件中查看。

——老周

黑衣人收到老周的报告,心里更加的忐忑,从日志分析来看,这条SQL注入记录已经有一个多月了,这期间已经有数不清的浏览器来请求这个welcome.php页面,不知道有多少人中了招。。。

容不得多想,黑衣人赶紧清除了这个文件,并让小胖通知PHP公司,修复漏洞。

夜深了,黑衣人离去,一切重归安宁。

Linux帝国网络部负责TCP连接的小Q准备打个盹儿,这么晚估计是没有活干了。

没想到刚躺下,就来了一个连接请求,小Q揉揉惺忪的睡眼,准备来处理,然后接着很快来了第二个,第三个,第四个······

奇怪的是,每一个连接只发送了一个SYN就没了音讯,小Q开始意识到情况不妙,拉响了帝国安全警报······

未完待续·······

彩蛋

“大人,我们安插在Linux帝国的“夜莺”被拿下了,接下来该如何是好?”

“无妨,我们的目的已经达到。是时候给他们一点颜色看看了,养兵千日,用兵一时,启动狼群计划!”

欲知后事如何,请关注后续精彩:《DDoS攻击-无限战争》

精彩回顾

我是一个explorer的线程

我是一个杀毒软件线程

我是一个IE浏览器线程

比特宇宙-TCP/IP的诞生

产品vs程序员:你知道www是怎么来的吗?

我是一个流氓软件线程

默认浏览器争霸传奇

远去的传说:安全软件群雄混战史

一个HTTP数据包的奇幻之旅

闯荡Linux帝国:nginx的创业故事

内核地址空间大冒险:系统调用

一条SQL注入引出的惊天大案的更多相关文章

  1. 一条SQL注入引出的惊天大案2:无限战争

    前情回顾: 经过黑衣人和老周的合作,终于清除了入侵Linux帝国的网页病毒,并修复了漏洞.不曾想激怒了幕后的黑手,一场新的风雨即将来临. 详情参见:一条SQL注入引出的惊天大案   风云再起 小Q是L ...

  2. 【挖洞经验】如何在一条UPDATE查询中实现SQL注入

    直奔主题 跟往常一样,在喝完我最爱的果汁饮料之后,我会习惯性地登录我的Synack账号,然后选择一个应用来进行渗透测试,此时我的“黑客之夜”便正式开始了. 我与很多其他的安全研究人员的习惯一样,我会在 ...

  3. 利用“参数赋值”防范SQL注入漏洞攻击

    <<年轻,无权享受>————送给每一个看到此文的同僚们 在这无精打采的炎夏 我躺在阳台上房东的旧沙发 回想几个月来遇到的问题 我不禁内心开始慌张喘着粗气 还有大把时间去打拼 没有到只 ...

  4. 从c#角度看万能密码SQL注入漏洞

    以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...

  5. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  6. 深入理解SQL注入绕过WAF和过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  7. 防止sql注入和sqlmap介绍

    sql注入问题从WEB诞生到现在也一直没停过,各种大小公司都出现过sql注入问题,导致被拖库,然后存在社工库撞库等一系列影响. 防止sql注入个人理解最主要的就一点,那就是变量全部参数化,能根本的解决 ...

  8. SQL注入攻防入门详解

    =============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...

  9. XPath注入跟SQL注入差不多,只不过这里的数据库走的xml格式

    SQL注入这块不想细聊了,相信很多朋友都听到耳朵长茧,不外乎是提交含有SQL操作语句的信息给后端,后端如果没有做好过滤就执行该语句,攻击者自然可以随意操纵该站点的数据库. 比如有一个图书馆站点book ...

随机推荐

  1. 学习layer弹层组件移动版

    layer弹层组件官网 常用参数: shadeClose:默认true,是否点击遮罩时关闭层

  2. oracle WHERE子句中的连接顺序

    ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 例如: (低效,执行时间1 ...

  3. 洛谷 2403 [SDOI2010] 所驼门王的宝藏

    题目描述 在宽广的非洲荒漠中,生活着一群勤劳勇敢的羊驼家族.被族人恭称为“先知”的Alpaca L. Sotomon是这个家族的领袖,外人也称其为“所驼门王”.所驼门王毕生致力于维护家族的安定与和谐, ...

  4. 本地测试读取redis和普通文件缓存的速度,redis慢一倍?

    重新测试了,换成了Linux服务器,php5.6,512内存.连续读取1千次不同的文件(每个文件41KB),redis也是1千个不同的key,文件缓存还是比redis快! 但是,但是,后来我换成连续读 ...

  5. H3C CSMA/CD载波侦听

  6. [转载] linux find 命令

    转载自 http://www.jb51.net/os/RedHat/1307.html Linux下find命令在目录结构中搜索文件,并执行指定的操作. Linux下find命令提供了相当多的查找条件 ...

  7. Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence(思维)

    传送门 题意: 给你一个只包含 '(' 和 ')' 的长度为 n 字符序列s: 给出一个操作:将第 i 个位置的字符反转('(' ')' 互换): 问有多少位置反转后,可以使得字符串 s 变为&quo ...

  8. $_GET $_POST $_REQUEST

    <form action="__APP__/View/editArticle?id=5" method="GET"> <form>表单提 ...

  9. linux初始化和关停

    如已提到的, 模块初始化函数注册模块提供的任何功能. 这些功能, 我们指的是新功能, 可以由应用程序存取的或者一整个驱动或者一个新软件抽象. 实际的初始化函数定义常常 如: static int   ...

  10. Filter、Intercepter、AOP的区别

    在使用Spring MVC开发RESTful API的时候,我们经常会使用Java的拦截机制来处理请求,Filter是Java本身自带拦过滤器,Interceptor则是Spring自带的拦截器,而A ...