前情回顾

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. HTML打印print

    上代码: //打印 function printme() { global_Html = document.body.innerHTML; //document.body.innerHTML = do ...

  2. jvm内存监控

    jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程 ...

  3. behavior planning——15.cost function design weightTweaking

    Designing cost functions is difficult and getting them all to cooperate to produce reasionable vehic ...

  4. 浮动,定位,flex布局

    什么是文档流 英文原文是:Normal flow. In CSS 2.1, normal flow includes block formatting of block-level boxes, in ...

  5. 在SQL中number(16,5)中的16和5 及number( 5,-2)中的5和-2是什么意思?

    在SQL中number(16,5)中的16和5 及number( 5,-2)中的5和-2是什么意思? 2018-06-04 19:23:24 xiaonan_IT 阅读数 3672   版权声明:本文 ...

  6. 洛谷P3957 跳房子 题解 二分答案/DP/RMQ

    题目链接:https://www.luogu.org/problem/P3957 这道题目我用到了如下算法: 线段树求区间最大值: 二分答案: DP求每一次枚举答案g时是否能够找到 \(\ge k\) ...

  7. ThinkPHP URL 路由简介

    简单的说,URL 路由就是允许你在一定规则下定制你需要的 URL 样子,以达到美化 URL ,提高用户体验,也有益于搜索引擎收录的目的. 例子 原本的 URL 为: http://www.5idev. ...

  8. 用一维数组实现栈(C++编程思想 p120)

    1 实现思路 向栈中插入4个元素后的状态 执行过程分析: 2 代码实现 clib.h 接口定义 typedef struct CStashTag { int ele_size; //栈中每个元素的占用 ...

  9. Python--day46--MySQL视图

    1,创建一个视图(给临时表起一个别名v1),视图也虚拟出来的,并非真正的物理表,不能直接往里面插数据.它的数据是动态的读出来的. create view v1 as select * from use ...

  10. Redis 命令行工具能这样用你知道了吗?

    我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...