一:背景 1. 讲故事 一直在追这个系列的朋友应该能感受到,我给这个行业中无数的陌生人分析过各种dump,终于在上周有位老同学找到我,还是个大妹子,必须有求必应 . 妹子公司的系统最近在某次升级之后,在高峰期会遇到 CPU 爆高的现象,有些单位你懂的,很强势,所以就苦逼了程序媛,不管怎么说,既然找上我,得想各种办法给解决掉,用远程的方式告诉了老同学怎么用 procdump 去抓 dump,在一个小时之后 dump 成功拿到,接下来就来分析了. 二:WinDbg 分析 1. CPU 真的爆高吗 是…
一:背景 1.讲故事 前几天有位朋友找到我,说他的程序出现了偶发性崩溃,已经抓到了dump文件,Windows事件日志显示的崩溃点在 clr.dll 中,让我帮忙看下是怎么回事,那到底怎么回事呢? 上 WinDbg 说话. 二:WinDbg 分析 1. 崩溃点在哪里 如果是托管代码引发的崩溃,在线程列表上会有一个异常信息,可以用 !t 来验证下. 0:000> !t ThreadCount: 7 UnstartedThread: 0 BackgroundThread: 6 PendingThre…
一:背景 1. 讲故事 这篇文章起源于 搬砖队大佬 的精彩文章 WinDBg定位asp.net mvc项目异常崩溃源码位置 ,写的非常好,不过美中不足的是通览全文之后,总觉得有那么一点不过瘾,就是没有把当时抛异常前的参数给找出来...这一篇我就试着弥补这个遗憾. 为了能够让文章行云流水,我就按照自己的侦察思路吧,首先看一下现状:iis上的应用程序崩溃, catch 不到错误,windows日志中只记录了一个 AccessViolationException 异常,如何分析? 说实话我也是第一次在…
一:背景 1.讲故事 前段时间有位朋友找到我,说他的程序在客户的机器上跑着跑着会出现偶发卡死,然后就崩掉了,但在本地怎么也没复现,dump也抓到了,让我帮忙看下到底怎么回事,其实崩溃类的dump也有简单的,也有非常复杂的,因为大多情况下都是非托管层面出现的各种故障,非常考验对 C, C++, Win32 API 以及 汇编 的理解,所以能不能解决看运气吧, 不管怎么说,先上 WinDbg. 二:WinDbg分析 1. 查找崩溃点 WinDbg 非常牛的地方在于它拥有一个自动化崩溃分析命令 !an…
一:背景 1. 讲故事 前段时间收到了一个朋友的求助,说他的ERP网站系统会出现偶发性崩溃,找了好久也没找到是什么原因,让我帮忙看下,其实崩溃好说,用 procdump 自动抓一个就好,拿到 dump 之后,接下来就是一顿分析了. 二:WinDbg 分析 1. 是什么导致的崩溃 windbg 有一个自动化的分析命令 !analyze -v 可以帮我们提前预诊一下,就好像进医院先在问询台那里过一下. 0:019> !analyze -v CONTEXT: (.ecxr) eax=14c9cd00…
背景:记一次常规的数据访问的时间分析(插入操作) 1. TCP三次握手 SYN ---> <--- SYN,ACK ACK ---> 花费时间: 386.718-385.784=0.934ms 2. 正常的消息交互 2.1. 服务器主动校验 <--- ServerGreeting LoginRequest ---> <--- ACK <--- Response 花费时间: 390.620-387.558=3.062ms 2.2 常规的请求响应 RequestQue…
一:背景 1. 讲故事 在给各位朋友免费分析 .NET程序 各种故障的同时,往往也会收到各种其他类型的dump,比如:Windows 崩溃,C++ 崩溃,Mono 崩溃,真的是啥都有,由于基础知识的相对缺乏,分析起来并不是那么的顺利,今天就聊一个 Windows 崩溃的内核dump 吧,这个 dump 是前几天有位朋友给到我的,让我帮忙看一下,有了dump之后上 windbg 分析. 二:WinDbg 分析 1. 从哪里入手 只要是 Windows 平台上的崩溃,操作系统都会维护一个 EXCEP…
海外落地中的困境 目前面临主要的问题是"人",仓储系统主要辅助仓储人员进行生产,所以人变了其实一切就都已经变了,系统在海外面临最大的问题就是人变了. 这套软件是在国内的运营体系下,用国内运营兄弟的设计一点一点打造出来的,虽有人员更替但运营理念和操作经验却被固化在生产环境中代代相传了下来.到国外后,有一些运营的兄弟过去做指导,但是毕竟只是少数人,由国内的人员过去覆盖的岗位只覆盖到大的运营管理层,到仓经理就已经是外籍人员了,更不要说下面的各种主管和操作员了. 对他们来说库房生产本来就…
0x00 前言 gou楼兰师傅发来个站说是过不了gd库,问我有啥办法没有,给了他之前海贼师傅说的jpg_payload脚本,但是绕不过,问他拿了站点,写了个jpg_payload批量的fuzz脚本,fuzz了大半天,但都是没有成功的. 目标基础信息: thinkphp3.2.3 php 5.4.45 使用gd库添加文字水印 0x01 转机 晚上吃饱喝足,闲来无事重新分析目标给出的报错信息,当上传了不是jpg文件的信息时候,返回如下内容. 可以知道目标使用了tp自带的图片处理类Think\imag…
一:背景 1. 讲故事 上个月有个老朋友找到我,说他的站点晚高峰 CPU 会突然爆高,发了两份 dump 文件过来,如下图: 又是经典的 CPU 爆高问题,到目前为止,对这种我还是有一些经验可循的. 抓 2-3 个 dump 第一个:有利于算两份 dump 中的线程时间差,从而推算最耗时线程. 第二个:有时候你抓的dump刚好线程都处理完了,cpu 还未真实回落,所以分析这种dump意义不大,我是吃了不少亏. 优先推测是否为 GC 捣鬼 现在的码农都精怪精怪的,基本不会傻傻的写出个死循环,绝大部…