一个简单的HTML病毒分析

  一直就想写这篇东西了,只是上班时说要上班,不写,回家后又忙着玩游戏,丢一边去了。现在只好不务正业的开写了,希望头儿不会知道我的blog。哈哈
   在很久之前就对HTML的病毒很感兴趣了,很好奇怎么能远程向本地不经过允许就能下载可执行文件的,只是一直没机会搞得到ASP的原码,所以不才敢断章取义的去作什么分析。最近一次听一朋友说他看一个网页时病毒防火墙提示有病毒,叫我小心(先感谢一下他先),我闪了一下念头,就打开FlashGet把那个病毒首页下了下来。
   稍微看了一下发现在首页代码的下面几行里有一个隐含的浮动帧。其引用的URL地址并不是本地的,感觉应该是了,然后再次动用FlashGet下了下来。居然发现放病毒的空间不支持ASP,下下来的ASP文件是源文件。这样兴趣来了,三下五除二的把所有病毒的相关文件都下了下来。
   由于这个病毒很简单,所以我也只摘抄了一些片段而以,如果实在感兴趣的话,不防去找一个有病毒的网页瞅瞅,不过,不要用IE去看,要用FlashGet等下载工具下载下来,再用记事本打开,不然中招了可不要来找我,好了正文开始。
   真正的病毒有三个文件,一个是引导文件,一个是下载文件,第三个是激活文件。
   第一个引导文件
     关键部分是:
          这个作用是将下载和激活两个文件当作该页的对象来引用并运行,这个也是病毒文件能够在本地进行感染的关键地方,在引用的文件里居然能够无阻碍的引用客户端的Action组件,唉唉,这就是那把刀啊。
   第二个是下载exe病毒文件
     然后是怎么将exe下载下来,而不弹出下载的提示框呢。这个是收下载文件来完成的任务。
     该病毒的作法是在服务器端用Microsoft.XMLHTTP组件和response.contenttype = "image/gif"将病毒文件以图片格式下载到客户端的网页缓存里(这里是很简单的Get/BinaryWrite操作,就不详细说了)。
   第三个是激活
     感觉激活的过程很巧妙,病毒是先用fso在c:/下生成一个hta文件,将激活过程写到这个文件里。然后再用WScript.Shell来运行这个文件。这样,激活过程中需要大权限的操作(比如:写注册表操作)就没问题了。
     具体操作过程是这样的。将在网页缓存目录里的病毒文件移动到系统文件目录,然后改名为win.exe。再往注册表里写入自启动的键,使得病毒能在系统重启后自动启动,然后删除hta文件,完成感染和激活。
   这就是病毒的基本运行过程(依照惯例病毒破坏部分就不提了),但是这个对我们有什么用呢,其实这种病毒我是很讨厌的,但是,其下载exe和激活过程还是有可利用的地方的。比如:你作的系统必须要客户端下载一些组件并激活后才能使用的,这种操作面对了解的人当然是不成问题,但是如果你面对的是那种网络是什么都还没搞清林的用户时,我估计系统还没开始使用你的电话就要打爆了。如果借用种方式,在对方允许的情况下自动下载组件,并自动激活,那就省事多了,是吧
。   不过,这种方式对小形文件是很方便,如果要下载1m以上的文件..那就要考虑多线程下载的操作了,当然这个不是这篇文章的范围了。以后有机会再说说用ASP+XML实现WEB多线程上传多线程下载的方法吧。
   惯例:我的联系方式是coder@citiz.net,日志地址是:http://blog.csdn.net/oyiboy。哈哈,希望大家转载的话也依照惯例将这行保留一下吧。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,我可以帮你写一个 Python 程序来分析新型冠状病毒数据。以下是程序的实现步骤: 1. 安装必要的 Python 库:pandas、matplotlib、requests、beautifulsoup4。 ```python !pip install pandas matplotlib requests beautifulsoup4 ``` 2. 从网络上爬取数据。这里我们以丁香园为例,从其网站上爬取数据。 ```python import requests from bs4 import BeautifulSoup import pandas as pd # 发送请求,获取数据 url = 'https://ncov.dxy.cn/ncovh5/view/pneumonia' headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} res = requests.get(url, headers=headers) # 解析数据 soup = BeautifulSoup(res.text, 'html.parser') script = soup.find(id='getListByCountryTypeService2true') text = script.string.strip() text = text[45:-11] # 将数据转化为列表 lst = text.split('},{') lst = [i + '}' for i in lst] lst = [i.replace('[', '').replace(']', '') for i in lst] lst = [eval(i) for i in lst] ``` 3. 用 pandas 分析数据。将数据转化为 DataFrame,并根据需要进行数据清洗和处理。 ```python # 将数据转化为 DataFrame df = pd.DataFrame(lst) # 删除不需要的列 df = df.drop(['id', 'createTime', 'modifyTime', 'tags'], axis=1) # 将列名重命名 df.columns = ['国家', '省份', '确诊', '死亡', '治愈'] # 处理缺失值 df['省份'].fillna(value='全国', inplace=True) df['确诊'].fillna(value=0, inplace=True) df['死亡'].fillna(value=0, inplace=True) df['治愈'].fillna(value=0, inplace=True) # 将确诊、死亡和治愈转化为整数类型 df['确诊'] = df['确诊'].astype(int) df['死亡'] = df['死亡'].astype(int) df['治愈'] = df['治愈'].astype(int) ``` 4. 可视化数据。使用 matplotlib 绘制多种统计图形,如条形图、饼图、折线图等。 ```python import matplotlib.pyplot as plt # 绘制条形图 df_sum = df.groupby('国家').sum().sort_values('确诊', ascending=False) df_sum.plot(kind='bar', y='确诊', figsize=(12, 6), color='orange') plt.title('全球疫情确诊人数排名') plt.xlabel('国家') plt.ylabel('确诊人数') plt.show() # 绘制饼图 df_china = df[df['国家'] == '中国'] df_china_sum = df_china.groupby('省份').sum().sort_values('确诊', ascending=False) df_china_sum.plot(kind='pie', y='确诊', figsize=(12, 6), autopct='%1.1f%%', startangle=90) plt.title('中国疫情确诊人数占比') plt.ylabel('') plt.show() # 绘制折线图 df_china_total = df_china.groupby('省份').sum() df_china_total.plot(kind='line', figsize=(12, 6)) plt.title('中国疫情趋势') plt.xlabel('日期') plt.ylabel('人数') plt.show() ``` 这个程序可以爬取丁香园的数据,并用 pandas 分析和可视化数据。你可以根据需要对数据进行处理,并绘制多种统计图形。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值