forked from Homeless-Xu/HomeLess-HomeLAB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path密码
572 lines (326 loc) · 25.3 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
## 弱密码
WPA-PSK的密码空间用浩瀚来形容一点不为过,所以直接进行字典攻击是傻子的行为.但是作为一个密码对字典攻击来说有强密码和弱密码的区别.强密码就是破解希望极其渺茫的密码.弱密码是很有希望破解的密码当然强弱也是个相对概念,他也是依赖于加安全制的.银行的密码一般都为6 位.像这样密码空间如此小的密码.普通情况下都为弱密码.但是银行的ATM 一天只让你试三次.三次密码不对锁卡.有这样的机制6 位的就不再是弱密码了.由弱密码组成的字典叫弱密码字典.http://www.freebuf.com/articles/web/42120.html 这篇文章讲的更为详细.
密码分析
世界最早加密办法:
在一根固定长度 和固定粗细的木棍上 用布条 上下绕圈包裹,然后在木棍外的布条上写字.当去掉木棍 平铺布条时,你就不知道写的内容了.
当初 电脑的出现 就是为了破解密码.
RSA 算法
数据加密的过程 就是对原来的明文文件或者数据,按照某种算法进行处理,使其成为一段不可读的代码
互联网把全世界连在一起, 为了能安全的运用互联网,只能选择数据加密和基于加密技术的 数字签名.
公开密钥(非对称密钥):
该算法 使用两个不同的密钥: 加密密钥 和 解密密钥
加密密钥: 公开 也叫 公开密钥 简称 公钥
解密密钥: 保密 也叫私有密钥 简称 私钥
某用户 用公开的加密密钥 加密的信息,只有用该用户的解密密钥 才能解密.
数字签名: (公钥数字签名 / 电子签章 )
是一种类似写在纸上的物理签名. 但是使用了 公钥加密领域的技术实现,用于鉴别数字信息的方法.
每个人都有一对钥匙,一个只有本人知道(密钥),一个公开(公钥)
签名的时候用 密钥 ,验证签名的时候用 公钥.
公钥必须向 身分认证机构 注册,以防别人假冒你.
注册后 身份机构 给你发一数字证书. 对文件签名后 你把数字证书和加签名的文件 发给接受者.
接受者 向身份机构 求证 是否真的是用你的密钥加密的文件.
一套数字签名 通常定义 两种互补的运算 : (私钥)用于签名 (公钥)用于验证.
公钥和私钥是互补的, 也就是说 一个公钥只能配一个私钥.
签名: 文档 用签名者的私钥进行加密. 变成数字签名的数据.
验证: 数据签名的文档 用签名者的公钥进行解密 ,能解出来 就说明这个签字是那个签名者的.
数字签名 就是只有信息的发送者才能产生的 别人无法伪造的一段 数字串,
这段数字串 同时 也是对信息的发送者 信息真实性的 一个有效证明. 如果企业的数字文件被盗 坏人就能捆绑木马到官方的exe 程序, 后患无穷.
邮件的 数字签名是有 法律效力的! 数字签名 不是邮件最下面落款 名字.
是非对称密钥加密技术 与 数字摘要技术的应用
数字签名的文件的完整性 是很容易验证的 而且数字签名 具有不可抵赖性.
DSS: 数字签名标准 digital signature standard
美国政府 用来 定义 数字签名算法的 一种标准
XML数字签名: 对XML格式的数据 进行数字签名. 以保证 报文的完整性,不可否认性,以及提供身分认证信息.
NAS 美国国家安全局
DSA 数字签名算法 : 用数字通信形式 达到签名的功能,目的是证明 通信双方的身份,来保证通信的安全.
数据项: 是数据的基本单位, 一个数据元素 可以有多个数据项组成,数据项是数据 不可分割的最小单位.
Hash 函数
Hash 一般翻译做散列,也有直音译"哈希"
就是把任意长度的输入,通过 散列 算法 变成固定长度的输出,该输出就是散列值. 不同的输入可能会散列成相同的输出,但是 不可能从散列值来唯一的确定输入值.
好的hash算法 可以使得 两个不一样的文件 但是有相同的哈希值的 输入 不能通过算法实现.
Hash 算法: md5 和sha1 是目前最广泛的算法 都是以md4 为基础设计的.
将任意长度的二进制值 映射位 较短的 固定长度的二进制值. 短的值 就是 哈希值.
哈希值 是 一段数据唯一 且极其紧凑的数值表现形式. 要找到散列为同一值的两个不同的输入,原理上是不可能的,所以hash值 可以检测数据的完整性.
简单说 就是一种单向密码体制,从明文到密文的不可逆映射,只有加密过程,没有解密. 任意长度 经过变化 得到固定长度的输出.
也可以说 hash 就是 找到一种 数据内容和数据存放地址之间的 映射关系.
算法用途
文件完整性校验
数字签名 由于 用非对称算法 运算速度慢,所以也可以用hash值 (也叫 数字摘要) 进行数字签名.
文件可以被别人窃听 但是不能被更改.
Md4 : message dagest 4 适用 32位字长的处理器 用高速软件实现. 基于32位操作系统来实现的.
Md5 : 对md4的改进 ,对输入以512位分组, 其输出是4个32位字的级联. 比md4复杂,速度要慢,在抗分析 和抗差分表现好.
Sha1 :
散列值: hash function. 将一个很大的 文件 映射成很小的 函数?
重放攻击: repaly attacks
攻击者 发送一个 目的主机以及接受过的包,来达到欺骗系统的目的.
主要用于 身份认证过程,破坏认证的正确性.
为了抵御这种攻击,现在的身分认证 一般采用 挑战应答(challenge /response)方式
用户 申请登录
发起 挑战值 并用md5 计算出相应的应答值 发送给服务器. 服务器也用md5计算出应答值 应答值一样的话就建立链接.
Cookie
监听http 截获的敏感数据 大多存放在cookie 中,
有时候可以 轻松的复杂别人的cookie 直接获得 相应的权限.
加密 可以防止别人破解 但是防止不了 repaly attacks 黑客只要 重复 发送你的加密文件.就能破坏身份认证等.
这种攻击 可以改变消息去向, 发送给指定的接收人,
防御方案:
时间戳:
时戳;代表当前时刻的数字.
基本思想; 服务器 接受一个消息 :当且仅当 这个消息 包含一个对服务器而言 足够接近当前时刻的时戳.
原理- replay attacks 需要时间, 这个时间会有点久.
要求; 通信各方的 计算机 时钟 要保持同步.
处理方式:设置大小适当的时间间隔(时间窗) 越大越能包容网络传输的延时, 越小越防重放攻击.
2,序号
通信双方 通过消息中的序列号 来保持消息的 新鲜性.
要求;双方 事先协商一个初始的序列号之后的通信 协商递增方法.
3,提问与应答
客户给服务器 发送一个随机数x, 要求服务器应答消息中 包含f(x) f()是双方事先约好的一个简单函数.
客户通过 服务器回的 f(x)值 判定 消息是不是重放攻击.
会话劫持?
劫持 分两种:
被动劫持:在后台监听双方会话的数据流,从中获得敏感数据
主动劫持:将会话当中的某台主机 踢 下线,由 攻击者取代 并 接管会话.
Tcp 会话劫持:
如果要劫持一些 不可靠的协议,那么将轻而易举.因为它们没有提供认证措施.
而 tcp 被誉为可靠协议. 这个是重点讨论的.
根据TCP/IP 的规定:使用tcp协议通讯 需要提供 两段序列号.
协议 使用者两段序列号 来保证 通信安全.
TCP/IP 根据 时间或者线性的产生这些 序列号.
通讯过程中 双方的序列号是相互依赖的,这也是为什么 tcp协议是可靠的传输协议,
所以 劫持的关键是这些序列号, 攻击者可以采取 嗅探技术获得序列号.
tcp
每一个数据包中 都有两段序列号.
分别是
SEQ 当前数据包 第一个字节的序号.
ACK 期望收到对方数据包中的第一个字节的序号.
假如 双方要进行一次连接.
服务器: server
S_SEQ:将要发送的下一个字节的序号
S_ACK:将要接收的下一个字节的序号
S_WIND:接收窗口
客户端:client
C_SEQ:将要发送的下一个字节的序号
C_ACK:将要接收的下一个字节的序号
C_WIND:接收窗口
它们之间的关系 必须符合 下面的逻辑关系,否则 数据包会被丢弃 并返回一个ack包(包含 期望的 序列号)
C_ACK <= C_SEQ <= C_ACK + C_WIND
S_ACK <= S_SEQ <= S_ACK + S_WIND
很大的缺点就是: 当收到一个 不期望的数据包后, 返回一个想要的ack包 然而这个包也不是另一端需要的 就恶性循环 产生 ack 风暴 storm
Tcp 会话 劫持过程:
Http 会话劫持
web 应用程序 通过2种方式 来判断和跟踪不同的用户 :
cookie : 小甜饼.
当你浏览网站时候,cookie 会帮你把 你在网站上打的字,或者 一些选择(网页背景颜色? / 网页缩放?) .都记录下来.
下次访问该站,服务器会先看看cookie 里面的信息.
网站为了辨别用户身份,而储存在本地计算机上经过加密的数据,
由服务器生产,发送给User-Agent (一般是浏览器) 浏览器会将cookie的 key/value 保存到 某个文件内,
下次 请求 同一网站 就发送这个cookie 给服务器.服务器会读取cookie 里面的信息, 判断 用户是不是要重新登录等等.
过期时间很长. 针对cookie 的攻击 一般是 盗取用户cookie 然后伪造cookie 冒充该用户.
session(会话型cookie) 存在与服务器,随着 会话的注销 就失效 也就是很快过期, 所以很难利用, 相比cookie 认证安全点.
最典型功能:
判定注册用户是否以及登录网站,(下次免登录)
更重要的是,网站可以利用 cookies 跟踪用户访问网站的习惯. 什么时间访问 访问了哪些页面, 每个网页的停留时间,
一方面 可以提供 个性化服务,另一方面 可以作为了解用户行为的工具, 对网站经营有一定的参考价值. 把你感兴趣的东西 调到首页.
还要购物车,同一家网站 不同的页面, 这些选择的商品都会写入cookies . 付款时用到.
生存周期, cookie在生成时候 就被指定一个 expire 值 这个就是生存周期, 超出这个周期 cookie就会被清楚, 如果设置成0 那么 关闭浏览器就清除cookie
每个浏览器都有各自的独立空间 存放cookie 因为cookie 同样包含计算机和浏览器的信息.
其实cookie 很危及用户隐私.
用户访问网站, 这些网站包含 了一种叫做网页臭虫的图片,该图片透明,且只有一个像素大小(以便隐藏),
它们的作用是将所有访问过此页面的计算机写入cookie。而后,电子商务网站将读取这些cookie信息,并寻找写入这些cookie的网站,
随即发送包含了针对这个网站的相关产品广告的垃圾邮件给这些高级人员。
因为广告有针对性 ,一旦用户点击 有人就能从电商那得到报酬, 继续维系那些网站的生存.
脚本攻击:
Cookie 没病毒那么危险,但也包含 敏感信息: 用户名 计算机名字 浏览器版本.
一般的脚本攻击 都素利用网站漏洞 在网站页面植入 脚本代码/或者 引用第三方脚本代码, 受到攻击时候 被植入的脚本会 读取当前站点的所有cookie内容,并上传给黑客.
防止办法: 设置cookie 不能被脚本读取.
对cookie 进行加密 ,在加密前加时间戳 保证每次加密后的密文都不一样 防止重放攻击.
Cookie 是小量信息,网络服务器产生 存储在网络浏览器上.
利用了网页代码中的 http 头信息传递的,每次网页请求 都可以伴随cookie
多数网页编程语言都支持cookie javascript vbscript delphi asp sql php c# 等等
大体上 先创建一个cookie对象 object 利用函数对cookie 赋值 读取 写入 等,
cookie欺骗, 通常cookie是加密的 被人窃取人家也看不懂,但是人家只要把cookie 提交给服务器 就能冒充你了.
要收集别人的cookie 很任意的,只要 编写一段代码 放你的网站里面,别人点你的网站 别人的cookie 就能被你收集了.
只能 尽量在论坛不用重要的密码, 不使用自动保存密码? 尽量不登录不了解底细的网站.
• Flash的代码隐患
Flash中有一个getURL()函数,Flash可以利用这个函数自动打开指定的网页。因此它可能把你引向一个包含恶意代码的网站。打个比方,当你在自己电脑上欣赏精美的Flash动画时,动画帧里的代码可能已经悄悄地连上网,并打开了一个极小的包含有特殊代码的页面。这个页面可以收集你的Cookie、也可以做一些其他的事情,比如在你的机器上种植木马甚至格式化你的硬盘等等。对于Flash的这种行为,网站是无法禁止的,因为这是Flash文件的内部行为。我们所能做到的,如果是在本地浏览尽量打开防火墙,如果防火墙提示的向外发送的数据包并不为你知悉,最好禁止。如果是在Internet上欣赏,最好找一些知名的大网站。
此外,我们使用了Cookie的一些属性来限定该Cookie的使用。例如Domain属性能够在浏览器端对Cookie发送进行限定,具体到上面的例子,该Cookie只能传送到指定的服务器上,而决不会跑到其他的Web站点上去。Expires属性则指定了该Cookie保存的时间期限,例如上面的Cookie在浏览器上只保存到1999年3月1日1秒。当然,如果浏览器上Cookie 太多,超过了系统所允许的范围,浏览器将自动对它进行删除。至于属性Path,用来指定Cookie将被发送到服务器的哪一个目录路径下。
说明:浏览器创建了一个Cookie后,对于每一个针对该网站的请求,都会在Header中带着这个Cookie;不过,对于其他网站的请求Cookie是绝对不会跟着发送的。而且浏览器会这样一直发送,直到Cookie过期为止。
带失效时间的:
SetCookie("WithExpire","Expire in 1 hour",time()+3600);//3600秒=1小时
创建 Cookie
setcookie() 函数用于设置 cookie。[9]
注释:setcookie() 函数必须位于 <html> 标签之前。
语法:
setcookie(name, value, expire, path, domain);
在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:
1 <?php
2 setcookie("user","AlexPorter",time()+3600);
3 ?>
4
5 <html>
6 .....
注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码。(为防止 URL 编码,请使用 setrawcookie() 取而代之。)
取回 Cookie 值
PHP 的 $_COOKIE 变量用于取回 cookie 的值。[9]
在下面的实例中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:
1 <?php
2 //Printacookie
3 echo$_COOKIE["user"];
4
5 //Awaytoviewallcookies
6 print_r($_COOKIE);
7 ?>
在下面的实例中,我们使用 isset() 函数来确认是否已设置了 cookie:
1 <html>
2 <body>
3
4 <?php
5 if(isset($_COOKIE["user"]))
6 echo"Welcome".$_COOKIE["user"]."!<br>";
7 else
8 echo"Welcomeguest!<br>";
9 ?>
10
11 </body>
12 </html>
删除 Cookie
当删除 cookie 时,您应当使过期日期变更为过去的时间点。[9]
删除的实例:
1 <?php
2 //settheexpirationdatetoonehourago
3 setcookie("user","",time()-3600);
4 ?>
12JavaScript Cookies编辑
创建和存储 cookie[10]
在这个例子中我们要创建一个存储访问者名字的 cookie。当访问者首次访问网站时,他们会被要求填写姓名。名字会存储于 cookie 中。当访问者再次访问网站时,他们就会收到欢迎词。
首先,我们会创建一个可在 cookie 变量中存储访问者姓名的函数:
1 functionsetCookie(c_name,value,expiredays)
2
3 {
4
5 varexdate=newDate()
6
7 exdate.setDate(exdate.getDate()+expiredays)
8
9 document.cookie=c_name+"="+escape(value)+
10
11 ((expiredays==null)?"":";expires="+exdate.toGMTString())
12
13 }
上面这个函数中的参数存有 cookie 的名称、值以及过期天数。
在上面的函数中,我们首先将天数转换为有效的日期,然后,我们将 cookie 名称、值及其过期日期存入 document.cookie 对象。
之后,我们要创建另一个函数来检查是否已设置 cookie:
1 functiongetCookie(c_name)
2
3 {
4
5 if(document.cookie.length>0)
6
7 {
8
9 c_start=document.cookie.indexOf(c_name+"=")
10
11 if(c_start!=-1)
12
13 {
14
15
16 c_start=c_start+c_name.length+1
17
18 c_end=document.cookie.indexOf(";",c_start)
19
20 if(c_end==-1)
21 c_end=document.cookie.length
22
23
24 returnunescape(document.cookie.substring(c_start,c_end))
25
26 }
27
28 }
29
30 return""
31
32 }
上面的函数首先会检查 document.cookie 对象中是否存有 cookie。假如 document.cookie 对象存有某些 cookie,那么会继续检查我们指定的 cookie 是否已储存。如果找到了我们要的 cookie,就返回值,否则返回空字符串。
最后,我们要创建一个函数,这个函数的作用是:如果 cookie 已设置,则显示欢迎词,否则显示提示框来要求用户输入名字。
1 functioncheckCookie()
2
3 {
4
5 username=getCookie('username')
6
7 if(username!=null&&username!="")
8
9 {alert('Welcomeagain'+username+'!')}
10
11 else
12
13 {
14
15 username=prompt('Pleaseenteryourname:',"")
16
17 if(username!=null&&username!="")
18
19 {
20
21 setCookie('username',username,365)
22
23 }
24
25 }
26
27 }
这是所有的代码:
1 <html>
2
3 <head>
4
5 <scripttype="text/javascript">6 7 functiongetCookie(c_name)8 9 {10 11 if(document.cookie.length>0)12 13 {14 15 c_start=document.cookie.indexOf(c_name+"=")16 17 if(c_start!=-1)18 19 {20 21 22 c_start=c_start+c_name.length+123 24 c_end=document.cookie.indexOf(";",c_start)25 26 if(c_end==-1)27 c_end=document.cookie.length28 29 30 returnunescape(document.cookie.substring(c_start,c_end))31 32 }33 34 }35 36 return""37 38 }39 40 41 functionsetCookie(c_name,value,expiredays)42 43 {44 45 varexdate=newDate()46 47 exdate.setDate(exdate.getDate()+expiredays)48 49 document.cookie=c_name+"="+escape(value)+50 51 ((expiredays==null)?"":";expires="+exdate.toGMTString())52 53 }54 55 56 functioncheckCookie()57 58 {59 60 username=getCookie('username')61 62 if(username!=null&&username!="")63 64 {alert('Welcomeagain'+username+'!')}65 66 else67 68 {69 70 username=prompt('Pleaseenteryourname:',"")71 72 if(username!=null&&username!="")73 74 {75 76 setCookie('username',username,365)77 78 }79 80 }81 82 }83 84 </script>
85
86 </head>
87
88
89 <bodyonLoad="checkCookie()">
90
91 </body>
92
93 </html>
13在jsp中编辑
jsp中使用cookie完成状态管理:
cookie也算http消息报头的一部分,它的作用有以下方面:
一 记录访客的某些信息。例如可以利用cookie记录用户光临的网页次数,或者访客曾经输入过的信息。某些网站可以自动记录用户上次登录的用户名,用的就是cookie。
二 页面之间传递变量。浏览器并不会保存当前页面上任何变量的信息,当页面被关闭时,页面上的所有变量信息将随之消失。
使用举例
在jsp中创建简单的cookie:
String cookiename="visitTimes";
Cookie cookie=new Cookie(cookiename,"1");
1. setMaxAge(10*60);//设置cookie存活期
2. addCookie(cookie);//将cookie写入客户端
在jsp中处理cookie数据的常用方法:
getDomain();返回cookie的域名.
getMaxAge();返回cookie的存活时间
getName();返回cookie的名字
getPath();返回cookie适用的路径
getSecure();如果浏览器通过安全协议发送Cookie将返回true值,如果浏览器使用标准协议刚返回false值
getValue();返回cookie的值
getVersion();返回cookie所遵从的协议版本setComment(String purpose);设置cookie的注释
setPath(String url);设置Cookie的适用路径
setSecure(Boolean flag);设置浏览器是否仅仅使用安全协议来发送cookie,例如使用Https或ssl
setValue(String newvalue);cookie创建后设置一个新的值
setVersion(int v);设置cookie所遵从的协议版本.
自1993年Cookie诞生以来,其就拥有专属性原则,即A网站存放在Cookie中的用户信息,B网站是没有权限直接获取的。但是,一些第三方广告联盟的代码使用范围很广。这就造成用户在A网站搜索了一个关键字,用户继续访问B网站,由于B网站也使用了同一家的第三方广告代码,这个代码可以从Cookie中获取用户在A网站的搜索行为,进而展示更精准的推广广告。比如搜索“糖尿病”等关键词,再访问其联盟网站,页面会立刻出现糖尿病治疗广告。如果并未事先告之,经用户同意,此做法有对隐私构成侵犯的嫌疑。这个还处在灰色地带。
## 密码分析 - 2
CSS 样式表 很多html标签能改变文本外观. 这些标签可以分为两类: 基于内容的样式 content-based style 物理样式 physical style CSS 级联样式表 网页上有三种 使用方法 1外部样式表: 里面添加 一个样式 被很多网页 使用,外部样式表是理想的选择. 这样可以通过更改一个css文件 来 改变整个网站的外观 2内部样式表: 里面添加 当 单个文件需要特别的样式时,可以用内部样式表. 可以在 head 里面 通过 3内联样式表: 里面 具体标签后面添加参数 个别元素需要用导特殊的样式时, 可以直接在html标签后面跟css参数来修改文本格式
This is a paragraph
怎么在文本里面应用样式呢 代码里面 输入
里面的内容都是p的css定义的格式
输入
里面的内容都是h2的css定义的格式
css 选择器 1 标记选择器 先定义样式标记 再段落前面加标记 2类别选择器 新建css的时候 .xujian.css 名称前面要有个.的 必须 再html → class 下面选择新建的类 3id 选择器 新建id.css #xujian.css html下面 选择id id只能用一次! css 美化: 所有边框的设置 最好用css 而不是一个个单独去修改 css以后修改很方便 不然的话很麻烦 登陆框 个性化 输入那里只留一条线 而不是一个框 也是css 里面 边框控制 实线 上下左右只留下的一根就好了 css 嵌套 一句话之内 如果有两个字特别的字体 1 可以代码里面直接加代码 比如 这里面的字就变斜体了 2 需要嵌套 嵌套id或者类都可以 head 下面 定义 #abc em 颜色红色 body下面
吾问无为谓哇哇哇哇哇哇哇哇
我我吾问无为谓哇哇哇哇哇哇哇哇
结果 上面的一行 哇变红色 下面的一行不变色 如果上面 head下面只定义 em 没有定义#abc em 那么 下面两行的哇 都会变红色. css 继承 两个层 大的和小的 大层的css属性会自动给小的. css 应用 内嵌式: head里面定义 推荐2 行内式: html 单行定义 推荐3 链接式: 链接定义(适应多个网站) 推荐1 单独保存.css 以后还能调用 优先级 行内\>内嵌\>链接 总体用链接布局 一般用内嵌 个别用行内 网页背景 推荐用css
## 有一定联系性规律性密码
例子:有人曾破如此一个WPA-PSK 密码IX1V7051242.如果你不了解这个密码的背景你肯能会觉得很神奇,这么强的密码也能破。这样的密码是在西班牙的tele2 这样的AP 上有,而且这样AP\_ESSID 里都有tele2 字段。这样的密码后面的8 位是相同的有真正的密码只有四位。四位密码其密码空间很小很容易被字典攻击出来。这个也是AP的默认密码。所以这个密码被破解是因为AP本身产生的随机密码就是个弱密码。是AP的厂家自己降低了安全性的做法。例如有一些餐厅.酒店.事业单位.等等.SSID总会改成名字的拼音.密码当然是跟ssid相关的.最常见的就是这个单位的电话号码!
## 社会工程学
有目的性的社工师多多少少都掌握着WIFI使用者的个人信息.不然怎么会叫做有目的的社工师呢.哈哈
例一个目标说吧了.会将跟目标有关系的人生日组合.姓名缩写(即开头字母).姓名拼音.手机号码.一般目标的恋爱对象.暗恋对象.重要的人.不排除基友.成功率最高.还有目标的.姓名.生日.手机号码.邮箱号码.网名(即ID.这招对黑阔很管用).习惯用的字符,当然还有常用的密码!!!.还有一些特殊号码.特殊日子(结婚纪念日.开始恋爱)等等资料生成一个字典.】
举一个例子一位在安全圈混的一位小黑阔.具有很高的安全意识,知道AP要使用一个很强大的密码比如hack!@#1024.但他这个人比较懒到那都使用着这个密码.然后这位黑阔在某个论坛某个网站注册了账号习惯性的输入了引以为傲的强密码.然后这些网站被黑(拖库)社工师根据密码生成了一个字典(根据泄露出来密码进行组合)然后就不用我多说了.这样的例子不少!《剑鱼行动》中那个黑客是如何在一分钟进入国家安全信息网的啊。就是网络上工作着为他收集密码的程序。而他就是通过这样的字典迅速破解的。而这样的字典真正的黑客也是不愿意发布出来的。