origin commit
This commit is contained in:
commit
36e65df95e
15 files changed
+1586
No files matched your search
@@ -0,0 +1,141 @@
|
||||
import unittest
|
||||
from time import time
|
||||
|
||||
from breach.parser import LineParser
|
||||
from breach.splitter import get_output_file
|
||||
from breach.utils import alpha_num_lookup
|
||||
|
||||
from breach.cparser import c_parseline
|
||||
|
||||
p_fast = c_parseline
|
||||
p_slow = LineParser.parseline
|
||||
|
||||
p = p_fast
|
||||
|
||||
|
||||
class ParserTest(unittest.TestCase):
|
||||
|
||||
def test_parse_1(self):
|
||||
self.assertIsNotNone(p('[email protected]:123'))
|
||||
self.assertIsNotNone(p('hello@@gmail.com:123'))
|
||||
self.assertIsNotNone(p('hello @ gmail.com:123'))
|
||||
self.assertIsNotNone(p('hello @@ gmail.com:123'))
|
||||
self.assertIsNotNone(p('hello @@ gmail.com:123:'))
|
||||
self.assertIsNone(p('[email protected]:'))
|
||||
self.assertIsNotNone(p('[email protected] 2296'))
|
||||
self.assertIsNotNone(p('hello @@ gmail.com,123'))
|
||||
self.assertIsNotNone(p('123,hello @@ gmail.com'))
|
||||
self.assertIsNone(p('[email protected]'))
|
||||
self.assertIsNone(p('[email protected]:?????? ??? ?????'))
|
||||
self.assertIsNone(p('[email protected]:85.242.201.81,felix'))
|
||||
self.assertIsNone(p('[email protected]:125.26.106.158,nopparat'))
|
||||
self.assertIsNone(p('[email protected]:INSERT INTO `users'
|
||||
'`(`id`, `verify`, `username`, `email`, `password'))
|
||||
self.assertIsNotNone(p('[email protected]:Login'))
|
||||
self.assertIsNotNone(p('[email protected] ilovebois3'))
|
||||
self.assertIsNotNone(p('[email protected] atohiyamamot'))
|
||||
self.assertIsNotNone(p('[email protected]@hotmail.com:8765432f'))
|
||||
self.assertIsNotNone(p('neanta,[email protected],jp:123'))
|
||||
self.assertIsNotNone(p('iemongozalu@gmail@com mizo1210'))
|
||||
self.assertIsNotNone(p('[email protected]@hotmail.com:sayonara'))
|
||||
self.assertIsNone(p('iemongozalu@gmail@com:'))
|
||||
self.assertIsNone(p('iemongozalu@gmail@com,'))
|
||||
self.assertIsNotNone(p('[email protected] chi chi 123'))
|
||||
self.assertIsNotNone(p('[email protected]@34589@@@@@@:19820429'))
|
||||
self.assertIsNotNone(p('[email protected]@33584@@@@@@ 03260702'))
|
||||
|
||||
self.assertIsNotNone(p('<[email protected]:sedagirl'))
|
||||
self.assertIsNotNone(p('<[email protected]>:<phoenix>'))
|
||||
self.assertIsNotNone(p('[email protected]< gorillague'))
|
||||
self.assertIsNone(p('</td>@bk.ru:peng7788525'))
|
||||
self.assertIsNone(p('<admin/>@mail.ru:andrew123'))
|
||||
self.assertIsNone(p('<i>test</i>@bk.ru:lippens'))
|
||||
self.assertIsNone(p('ESSENTIALWAY'))
|
||||
self.assertIsNone(p('ESTARRON-ESPINOSA'))
|
||||
self.assertIsNone(p('ERLONMIRANDA:sha98ne'))
|
||||
self.assertIsNotNone(p('[email protected]:[email protected]:victory'))
|
||||
self.assertIsNotNone(p('[email protected];;shanmuga6'))
|
||||
self.assertIsNotNone(p('[email protected]::shanmuga6'))
|
||||
self.assertIsNotNone(p('[email protected]::hell@'))
|
||||
self.assertIsNotNone(p('[email protected]::hell@:'))
|
||||
self.assertIsNotNone(p('Aliulfat [email protected]:4849040'))
|
||||
self.assertIsNotNone(p('harry gill@ yaho.com:7087096771'))
|
||||
self.assertIsNotNone(p('shaheen .jafri @gmail.com:destinyuntold'))
|
||||
self.assertIsNotNone(p('mail@ottino snc.it:04921540011'))
|
||||
self.assertIsNone(p('sssssssandhya@gmail.:puleyar1'))
|
||||
|
||||
self.assertIsNotNone(p('cjywzy%40eyou.com:Aebdd797'))
|
||||
self.assertIsNotNone(p('finanza.rapido2013%40yahoo.it:123456'))
|
||||
self.assertIsNotNone(p('habitacasa3%40yahoo.it:cesira89'))
|
||||
self.assertIsNotNone(p('harry gill@ yaho.com:7087096771'))
|
||||
self.assertIsNone(p('uwe kopka <[email protected]>:biochemie'))
|
||||
|
||||
# multi-line.
|
||||
self.assertIsNotNone(p('INLOVE12:::1920-05-02:[email protected]:INLOVE12'))
|
||||
self.assertIsNotNone(p('Nicesweetboobs:1983-10-05:[email protected]:ilovekiss'))
|
||||
self.assertIsNotNone(p('[email protected]:[email protected];97tata1'))
|
||||
|
||||
multi_lines = [
|
||||
'[email protected];[email protected]:CAROLINAPIANTA',
|
||||
'Nicesweetboobs:1983-10-05:[email protected]:ilovekiss',
|
||||
'190.40.252.191,XabelciberX,[email protected],gatita9685567',
|
||||
'201.245.164.50,andres vergara,[email protected],barcelona10',
|
||||
'65.94.11.229,stephane,[email protected],ste264',
|
||||
'INLOVE12:::1920-05-02:[email protected]:INLOVE12',
|
||||
'agaliha84:::1969-07-02:[email protected]:agaliha84',
|
||||
'happy8360:::1963-09-12:[email protected]:jdj407',
|
||||
'tinkertailor99:1947-10-12:[email protected]:77880577',
|
||||
'Cash5178:1970-11-06:[email protected]:hulk1234',
|
||||
'Creecher0275:1972-04-22:[email protected]:complete',
|
||||
'[email protected]:[email protected];97tata1',
|
||||
'[email protected]:[email protected];zwezda',
|
||||
'SavvySummer:1973-03-17:[email protected]:sunshine0699',
|
||||
'RaWRrr:1990-12-02:[email protected]:nitsua',
|
||||
'[email protected];[email protected]:CAROLINAPIANTA',
|
||||
'[email protected];[email protected]:RRAHOTEL',
|
||||
'silent4463:1980-10-14:[email protected]:salinas'
|
||||
]
|
||||
|
||||
for multi_line in multi_lines:
|
||||
self.assertIsNotNone(p(multi_line))
|
||||
|
||||
self.assertIsNone(p('300396 matelymaly [email protected] 222.155.173.78 '
|
||||
'3d2c5414a041f518b03b750e62e4ebc3:Nhc'))
|
||||
self.assertIsNone(p('05-02-2012;5721869;[email protected]:f02368945726d5fc2a14eb576f7276c0'))
|
||||
self.assertIsNotNone(p('[email protected]::g1u3ck'))
|
||||
self.assertIsNotNone(p('[email protected]:[email protected]:2904198'))
|
||||
self.assertIsNotNone(p('sanda [email protected]:vasafultv'))
|
||||
self.assertIsNone(p('jsjjd.@Com.:love melon'))
|
||||
|
||||
def test_parse_2(self):
|
||||
t = time()
|
||||
for i in range(20000): # 10,000 * 13 = 130,000 in 4.0 seconds.
|
||||
# => 32B in in 10 days. That's a lot.
|
||||
p('[email protected]:123')
|
||||
p('hello@@gmail.com:123')
|
||||
p('hello @ gmail.com:123')
|
||||
p('hello @@ gmail.com:123')
|
||||
p('hello @@ gmail.com:123:')
|
||||
p('hello @@ gmail.com,123')
|
||||
p('123,hello @@ gmail.com')
|
||||
p('[email protected]')
|
||||
p('[email protected]:?????? ??? ?????')
|
||||
p('[email protected]:85.242.201.81,felix')
|
||||
p('[email protected]:125.26.106.158,nopparat')
|
||||
p('[email protected]:INSERT INTO `users'
|
||||
'`(`id`, `verify`, `username`, `email`, `password')
|
||||
p('[email protected]:Login')
|
||||
print(time() - t)
|
||||
|
||||
def test_parse_3(self):
|
||||
alpha = alpha_num_lookup()
|
||||
self.assertEqual('j/o/s', get_output_file(alpha, '[email protected]'))
|
||||
self.assertEqual('c/e/o', get_output_file(alpha, '[email protected]'))
|
||||
self.assertEqual('x/symbols', get_output_file(alpha, '[email protected]'))
|
||||
self.assertEqual('x/a/symbols', get_output_file(alpha, '[email protected]'))
|
||||
self.assertEqual('x/symbols', get_output_file(alpha, '[email protected]'))
|
||||
self.assertEqual('k/e/v', get_output_file(alpha, '[email protected]'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,33 @@
|
||||
import unittest
|
||||
|
||||
from breach.query import mask_pass, mask_pass_justin_rule
|
||||
|
||||
|
||||
class ParserTest(unittest.TestCase):
|
||||
|
||||
def test_mask_password(self):
|
||||
self.assertEqual('123456**654321', mask_pass('12345688654321', num_asterisks=2))
|
||||
self.assertEqual('123456***54321', mask_pass('12345688654321', num_asterisks=3))
|
||||
self.assertEqual('12345****54321', mask_pass('12345688654321', num_asterisks=4))
|
||||
self.assertEqual('12**********21', mask_pass('12345688654321', num_asterisks=10))
|
||||
self.assertEqual('1************1', mask_pass('12345688654321', num_asterisks=12))
|
||||
self.assertEqual('**************', mask_pass('12345688654321', num_asterisks=14))
|
||||
self.assertEqual('**************', mask_pass('12345688654321', num_asterisks=18))
|
||||
self.assertEqual('**************', mask_pass('12345688654321', num_asterisks=99))
|
||||
self.assertEqual('1234568*654321', mask_pass('12345688654321', num_asterisks=1))
|
||||
self.assertEqual('12345688654321', mask_pass('12345688654321', num_asterisks=0))
|
||||
|
||||
def test_mask_password_justin(self):
|
||||
expected = 'il**********m'
|
||||
initial = 'iloveicecream'
|
||||
assert len(expected) == len(initial)
|
||||
self.assertEqual(expected, mask_pass_justin_rule(initial, num_asterisks=-1))
|
||||
|
||||
expected = 'm****n'
|
||||
initial = 'martin'
|
||||
assert len(expected) == len(initial)
|
||||
self.assertEqual(expected, mask_pass_justin_rule(initial, num_asterisks=-1))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,36 @@
|
||||
import unittest
|
||||
|
||||
from breach.utils import RingDictionary
|
||||
|
||||
|
||||
class UtilsTest(unittest.TestCase):
|
||||
|
||||
def test_ring_dictionary_1(self):
|
||||
rd = RingDictionary(max_num_keys=3)
|
||||
rd['a'] = 2
|
||||
self.assertListEqual(sorted(rd.keys()), ['a'])
|
||||
self.assertListEqual(sorted(rd.k), ['a'])
|
||||
rd['b'] = 2
|
||||
self.assertListEqual(sorted(rd.keys()), ['a', 'b'])
|
||||
self.assertListEqual(sorted(rd.k), ['a', 'b'])
|
||||
rd['c'] = 2
|
||||
self.assertListEqual(sorted(rd.keys()), ['a', 'b', 'c'])
|
||||
self.assertListEqual(sorted(rd.k), ['a', 'b', 'c'])
|
||||
rd['d'] = 2
|
||||
self.assertListEqual(sorted(rd.keys()), ['b', 'c', 'd'])
|
||||
self.assertListEqual(sorted(rd.k), ['b', 'c', 'd'])
|
||||
|
||||
rd = RingDictionary(max_num_keys=1)
|
||||
rd['c'] = 1
|
||||
rd['c'] = 2
|
||||
rd['c'] = 3
|
||||
self.assertListEqual(sorted(rd.keys()), ['c'])
|
||||
self.assertListEqual(sorted(rd.k), ['c'])
|
||||
|
||||
rd['d'] = 3
|
||||
self.assertListEqual(sorted(rd.keys()), ['d'])
|
||||
self.assertListEqual(sorted(rd.k), ['d'])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user