网络驱动器上的CC和SSN文件搜索

时间:2011-04-25 18:43:32

标签: scripting powershell credit-card web-crawler

我正在开发一个项目,我们需要搜索一组网络驱动器来检查每个文件,并查找信用卡号和社会安全号码。我一直试图使用Cornell Spider程序而没有成功,因为它每次使用时都会崩溃。

我想知道是否有办法使用Powershell或Windows上提供的脚本语言来执行分析(我假设字符串匹配),这将与信用卡号和社会安全号码的模式相匹配(可能是一个正则表达式)。如果有办法,并且因为我不是程序员,我很好奇是否有一些代码可以用来做这件事。此外,保存/转储文件(文本或CSV)的结果的能力也非常有用。

非常感谢您提供的任何想法或帮助。

=============================================== ======

好的,我一直在研究测试脚本并提出以下建议:

$spath = "C:\Users\name\Desktop\"
$opath = "C:\Users\name\Desktop\Results.txt"

$Old_SSN_Regex = "[0-9]{3}[-| ][0-9]{2}[-| ][0-9]{4}"
$SSN_Regex = "^(?!000)([0-6]\d{2}|7([0-6]\d|7[012]))([ -]?)(?!00)\d\d\3(?!0000)\d{4}$"
$CC_Regex = "^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$"
$CC_2_Regex = "^(\d{4}-){3}\d{4}$|^(\d{4} ){3}\d{4}$|^\d{16}$"

Get-ChildItem $spath -Include *.txt -Recurse | Select-String -Pattern $SSN_Regex | Select-Object Path,Filename,Matches | Out-File $opath
Get-ChildItem $spath -Include *.txt -Recurse | Select-String -Pattern $CC_Regex | Select-Object Path,Filename,Matches | Out-File $opath -Append
Get-ChildItem $spath -Include *.txt -Recurse | Select-String -Pattern $CC_2_Regex | Select-Object Path,Filename,Matches | Out-File $opath -Append

这似乎运作良好,问题是如果要匹配的项目之前或之后有空格,列出的正则表达式不会捕获它。是否有一些我可以做的不同的事情,如果它在文件中匹配的模式之前或之后有空格,它将捕获该项目?

1 个答案:

答案 0 :(得分:1)