对个人博客进行攻击统计后,我发现

admin 2024年5月19日23:53:39评论27 views字数 3155阅读10分31秒阅读模式
我发现你们很爱PHP(误)。

对个人博客进行攻击统计后,我发现

这篇是22年的老文章,搬过来。

. . . * . * ☄️. * . * . 🔆 .* . * . 🧶 * . * . . .

前言
我只是闲得没事,但是这一统计下来确实发现了一些有意思的事情。我的个人博客由2020年6月21日建立,暂时运营到2022年1月5日为止。使用的web框架是django,并且禁用了其自带的后台插件,理论上是一个不会被事件型漏洞攻破的网站。
测试时间
2020年七月到2021年十二月。在log4j漏洞被披露后的一周内我又再次查看了一遍日志,发现已经有毛子(这是一个中义词)用这个洞扫过我的网站了(不得不说毛子这种事情上真的很快^ ^)。
测试用脚本
我简单地写了一下,其实还能够加很多功能,比如调用ip查询的接口将ip的地址也一并记录下来。由于日志的时间跨度很长,已经有十几兆了,不方便用绘图表示,所以只简单统计了一下正常访问的ip、异常访问的ip、异常访问的url。
'''


Author: AugustTheodor


Date: 2021-12-08 14:37:53


LastEditors: AugustTheodor


LastEditTime: 2021-12-08 16:34:49


Description: Apache网站日志的扫描脚本,用于统计恶意攻击的


'''


import re


re_ip=r"((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)" 


re_url=r"".*?""


def travel(dict,f):


    for i in dict:


        if(i[1]>1): #过滤只访问了一次的ip/url


            f.write(str(i[0])+" => "+str(i[1])+"n")


    f.write("n")


class WebsiteLog:


    dict200={}


    dict4XX={}


    dicturl={}


    def __init__(self,string):


        try:


            self.ip=re.search(re_ip,string).group()


        except:


            self.ip="anonymous"


        self.url=re.search(re_url,string).group()


        #=begin


        self=self.url.replace("HTTP/1.1","")


        self=self.url.replace("HTTP/1.0","")


        self=self.url.replace("GET","")


        self=self.url.replace("POST","") #删这几个差不多了,要加直接在下面加(PUT DELETE这种不建议删除)


        #=end


        self.status=int(string.split('"')[-1].split()[0])


        if self.status==200:


            if not self.ip in WebsiteLog.dict200.keys():


                WebsiteLog.dict200[self.ip]=1


            else:


                WebsiteLog.dict200[self.ip]+=1


        if self.status>400 and self.status<499 and self.status!=408: #去掉408,这个是网络错误


            if not self.ip in WebsiteLog.dict4XX.keys():


                WebsiteLog.dict4XX[self.ip]=1


            else:


                WebsiteLog.dict4XX[self.ip]+=1


            if not self.url in WebsiteLog.dicturl.keys():


                WebsiteLog.dicturl[self.url]=1


            else:


                WebsiteLog.dicturl[self.url]+=1


out=open("output.log","w")


outlist=[]


with open("access.log","r") as f:


    line=f.readlines()


    for i in line:


        outlist.append(WebsiteLog(i))


    WebsiteLog.dict200=sorted(WebsiteLog.dict200.items(), key = lambda kv:(kv[1], kv[0]))


    WebsiteLog.dict4XX=sorted(WebsiteLog.dict4XX.items(), key = lambda kv:(kv[1], kv[0]))


    WebsiteLog.dicturl=sorted(WebsiteLog.dicturl.items(), key = lambda kv:(kv[1], kv[0])) 


    #为什么不写个函数重用呢 因为我懒


    out.write("检查结果如下:n")


    out.write("网站的200访问ip排名如下:n")


    travel(WebsiteLog.dict200,out)


    out.write("网站的异常访问ip排名如下:n")


    travel(WebsiteLog.dict4XX,out)


    out.write("网站的异常访问url排名如下:n")


    travel(WebsiteLog.dicturl,out)


    print("检查完毕!") #可视化是不可能了,只能导出一份报告自己慢慢看的样子

测试结果(ip部分)

一年半的时间下:

网站遭受的最过分的爬虫扫描器(不计408访问失败)访问了3356次。

网站遭受的爬虫扫描器,访问次数在1000次以上的ip有3个,大部分人还是很讲武德的。

网站遭受的最过分的扫描器(异常请求,不是爬虫扫描器)访问了1754次(这个扫描器同时扫描了相当多的织梦CMS链接,还是一个来自上海的ip,你无敌了孩子)。

网站遭受的扫描器,访问次数在1000次以上的ip有3个,在500次以上的ip有33个,在100次以上的ip有179个(没有统计代理ip的,里面应该有数十个是挂了几个代理ip扫的)。属于是脚本小子大开会,平均每1.5天我这就要被光顾一次。

测试结果(url部分)

我向来是不惮以最惨的立场去揣测宇宙第一的PHP语言的,这次情况却有所不同:

异常访问中,最多的自然是robots.txt(11271次),这个请求其实也不算异常,但是以搜索引擎光顾我网站的次数来看很异常

除此之外,最常使用的居然是一个网关设备的漏洞url。

异常URL排名前十的如下所示:

  • 1- /.env 1049
  • 2- /boaform/admin/formLogin 916 (网关设备漏洞)
  • 3- /config/getuser?index=0 647
  • 4- /phpmyadmin/ 621 (PHPmyadmin,一个管理数据库的,委实说这扫描器应该开到888端口)
  • 5- /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php 611 (PHPunit是一个测试框架,结合url这里应该是针对Laravel)
  • 6- /wp-login.php 582 (WordPress)
  • 7- /api/jsonws/invoke 544 (JSON Web服务)
  • 8- /wp-content/plugins/wp-file-manager/readme.txt 478 (WordPress)
  • 9- 弹到百度首页的SSRF攻击 459
  • 10- /index.php?s=/Index/\think\app/invokefunction... 438 (ThinkPHP)

其实针对PHP的攻击还是相当多的,但是这次在单个漏洞的次数上被物联网漏洞稍微占了上风~而针对Java的攻击我却只看到了小几个,估计PHP还要被黑好几年咯。

. . . * . * 🌟 * . * . . .

原文始发于微信公众号(重生之成为赛博女保安):对个人博客进行攻击统计后,我发现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月19日23:53:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   对个人博客进行攻击统计后,我发现https://cn-sec.com/archives/2756810.html

发表评论

匿名网友 填写信息