前情回顾

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. js判断数组或对象是否相等

    /** * 验证两个object 是否相同 * @param {Object} obj [需要进行验证的数据1] * @param {Object} newObj [需要进行验证的数据2] */ fu ...

  2. @hdu - 6372@ sacul

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 定义矩阵 \(A_i\) 是一个大小为 \(p^i*p^i\) ...

  3. js递归遍历树结构(tree)

    如图: 代码: let datas = [] //是一个树结构的数据 setName(datas){ //遍历树 获取id数组 for(var i in datas){ this.expandedKe ...

  4. 学习框架/对象onbeforeunload事件

    1.有没有发现在一些表单提交页面,当我们点击页面某个链接要离开表单提交页面时会弹出一个提示信息,如下: 那么,这是提示是怎么产生的呢?代码如下: window.onbeforeunload=funct ...

  5. 如何编程实现快速获取一个整型数中的bit流中1的个数

    int one_in_unsigned(unsigned n) { n =(n & ) & 0x55555555); n =(n & ) & 0x33333333); ...

  6. oracle避免改变索引列的类型

    当比较不同数据类型的数据时, ORACLE自动对列进行简单的类型转换. 假设 EMPNO是一个数值类型的索引列. SELECT … FROM EMP WHERE EMPNO = ‘123’ 实际上,经 ...

  7. hibernate中因双向依赖而造成的json怪相--springmvc项目

    简单说一下Jackson 如果想要详细了解一下Jackson,可以去其github上的项目主页查看其版本情况以及各项功能.除此以外,需要格外提一下Jackson的版本问题.Jackson目前主流版本有 ...

  8. P1107 栈

    题目描述 背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈). 栈的重要性不言 ...

  9. 2019-1-4-win10-uwp-win2d-CanvasVirtualControl-与-CanvasAnimatedControl

    title author date CreateTime categories win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl ...

  10. UVA 11400"Lighting System Design"

    传送门 错误思路 正解 AC代码 参考资料: [1]:https://www.cnblogs.com/Kiraa/p/5510757.html 题意: 现给你一套照明系统,这套照明系统共包含 n 种类 ...