几个月前,我构建了一个小python脚本,它从我的蜜罐日志中收集一些非常基本的数据。我发现这个剧本有毛病,我自己也没能找到答案。你知道吗
脚本将从攻击中读取日志文件。 日志文件每行包含五条数据。你知道吗
示例:
2014-12-24 13:37:00,1.2.3.4,root,password,0
这五个数据段用“,”分隔。
所以我用''作为分隔符,将行拆分成一个列表,如下所示。你知道吗
['2014-12-24 13:37:00', '1.2.3.4', 'root', 'password', '0']
我可以从中获取我需要的数据。你知道吗
我相信你们中的一些人已经弄明白了,
在尝试的密码中存在分隔符时发生,
在这种情况下H4ck3r,,h4cker,,2015年
日志文件的结果如下
2015-01-02 01:44:38,2.3.4.5,root,H4ck3r,,h4cker,,2015,0
并将生成的列表转换为这个。你知道吗
['2015-01-02 01:44:38', '2.3.4.5', 'root', 'H4ck3r', '', 'h4cker', '', '2015', '0']
我第一个想到的解决方法是删除[0:3]和[-1],
然后接受剩下的密码,但是,
至少可以说不太干净也不准确。
如果攻击者在用户名中使用分隔符,我将回到原点。
问题。
正如mgilson已经指出的,您应该更改日志文件的格式(如果可能的话)。你知道吗
要解析现有日志,可以使用regex
^([^,]*),([^,]*),([^,]*),(.*),(\d+)\s*$
。这将捕获组1中的时间戳、组2中的ip,依此类推。你知道吗regex101 demo.
相关问题 更多 >
编程相关推荐