<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陌茗228.的博客]]></title><description><![CDATA[个人笔记]]></description><link>https://blog.youkuaiyun.com/curryzzb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; curryzzb]]></copyright><item><title><![CDATA[在使用URLClassLoader时，加载外部的class文件出现错误，原因及解决办法]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/130214394</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/130214394</guid><author>curryzzb</author><pubDate>Tue, 18 Apr 2023 09:40:38 +0800</pubDate><description><![CDATA[在使用URLClassLoader时，加载外部的class文件出现错误，原因及解决办法]]></description><category></category></item><item><title><![CDATA[PHP伪协议]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/120210039</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/120210039</guid><author>curryzzb</author><pubDate>Thu, 09 Sep 2021 21:08:41 +0800</pubDate><description><![CDATA[PHP伪协议
文件包含漏洞

为了可以更方便的重复使用代码，使用了文件包含函数将文件包含进来，直接使用文件中的代码来提高效率。但是这样也会产生文件包含漏洞。
产生原因：为了灵活包含文件会将包含文件设置为变量，通过动态变量来引入需要包含的文件。然而用户也可以对变量的值进行控制，如果服务器端未对变量值进行合理的校验，就会导致文件包含漏洞。

文件包含函数
include()	      代码执行到 include() 函数时将文件包含，在错误发生后脚本会继续执行
include_once()	  当重复调用同一]]></description><category></category></item><item><title><![CDATA[浅谈PHP反序列化]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/119720193</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/119720193</guid><author>curryzzb</author><pubDate>Sun, 15 Aug 2021 21:23:17 +0800</pubDate><description><![CDATA[浅谈PHP反序列化以及反序列化漏洞
序列化与反序列化基础

定义：

序列化就是将变量转化为可保存或传输的字符串的过程
反序列化就是在适当的时候把这个字符串再转化成原来的变量使用


运用函数：

序列化函数：serialize()，该函数可以将变量转化为字符串，并且在转换中可以保存当前变量的值
反序列化函数：unserialize()，将序列化函数生成的字符串在变换回变量


序列化的目的：将所序列化的内容保存为一个对象方便以后重用，就是在变量值可能需要跨脚本调用的时候，如果没有序列化的这种机制，就相对比]]></description><category></category></item><item><title><![CDATA[BUUCTF-N1BOOK]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/119295991</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/119295991</guid><author>curryzzb</author><pubDate>Sun, 01 Aug 2021 15:08:35 +0800</pubDate><description><![CDATA[[第一章 web入门]
常见的搜集
打开网页，可以知道考的是敏感文件

常见的敏感文件有：

gedit备份文件，格式为filename，比如index.php
vim备份文件，格式为.filename.swp或者*.swo或者*.swn，比 如.index.php.swp
robots.txt

尝试先查看robots.txt文件，查看这个flag1_is_her3_fun.txt文件，得到flag1
再者，尝试查看备份文件.index.php.swp，得到flag3

那flag2呢？最后是在index]]></description><category></category></item><item><title><![CDATA[BUUCTF笔记]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/119047657</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/119047657</guid><author>curryzzb</author><pubDate>Sun, 25 Jul 2021 13:43:04 +0800</pubDate><description><![CDATA[EasySQL


明显的SQL注入题


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



直接尝试万能密码


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


获得flag


[极客大挑战 2019]Havefun 1


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


查看前端代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



可以看出，get提交参数给cat赋值，当cat的值为dog，就会]]></description><category></category></item><item><title><![CDATA[CTFshow--web入门]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/119047695</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/119047695</guid><author>curryzzb</author><pubDate>Sun, 25 Jul 2021 13:42:49 +0800</pubDate><description><![CDATA[web入门：
web6：


where is flag?


抓包查看，啥也没有


题目提示 解压源码到当前目录，测试正常，收工，www.zip源码泄露


下载www.zip源码后，zip中有两个文件，



打开txt文件，flag{flag_here}，提交flag，错误。。。


尝试访问fl000.txt文件，得到了正确的flag


web7：

提示，版本控制很重要，但不要部署到生产环境更重要。
是个git泄露问题，漏洞成因：在运行git init初始化代码库的时候，会在当前目录下面产生一]]></description><category></category></item><item><title><![CDATA[hackinglab笔记]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/118884747</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/118884747</guid><author>curryzzb</author><pubDate>Sun, 18 Jul 2021 22:44:39 +0800</pubDate><description><![CDATA[hackinglab笔记
基础关
第一关：key在哪里？

直接查看源代码，key在注释中

第二关：再加密一次你就得到key啦~

得到一串字符串，xrlvf23xfqwsxsqf
根据题目，在加密一次就可以得到key，因为rot-13是它自身的逆反，两次加密即为本身
通过ROT-13再次加密，获得key
ROT-13在线解密工具：ROT13 @ http://www.rot13.de/

第三关：猜猜这是经过了多少次加密？


通过加密字符串的最后，“=”，猜测，可能是base64编码
将全部字符串复制]]></description><category></category></item><item><title><![CDATA[upload-labs笔记]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/118884755</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/118884755</guid><author>curryzzb</author><pubDate>Sun, 18 Jul 2021 22:40:43 +0800</pubDate><description><![CDATA[upload-labs笔记
第一关：


尝试上传1.php文件，开启代理抓包，发现没有产生流量就进行验证了，说明是前端JS验证


方法一：修改前端代码，这里的值修改成1即可上传。



方法二：禁用js，以搜狐为例，先在地址栏输入about:config，然后搜索javascript，将值改为false即可。



方法三：使用burp抓包，上传1.png文件，将文件名修改成1.php。



上传一句话木马成功后，使用蚁剑连接，就可以获得webshell。


第二关：


尝试直接抓包上传，抓包成功]]></description><category></category></item><item><title><![CDATA[数据结构之二叉树的构造与遍历]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/116239920</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/116239920</guid><author>curryzzb</author><pubDate>Fri, 07 May 2021 09:03:44 +0800</pubDate><description><![CDATA[#include
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include 
using namespace std;
//预设栈的大小
#define STACK_INIT_SIZE 50
//定义树的结构体
typedef struct BiTNode
{
char data;
struct BiTNode *lchild, *rchild;//包括左孩子和右孩子指针
} BiTNode, ]]></description><category></category></item><item><title><![CDATA[HTTP]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/116307069</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/116307069</guid><author>curryzzb</author><pubDate>Fri, 30 Apr 2021 17:22:46 +0800</pubDate><description><![CDATA[HTTP

超文本传输协议
HTTP是一个基于TCP/IP通信协议来传递数据（HTML 文件, 图片文件, 查询结果等）。

HTTP 消息结构

HTTP是基于客户端/服务端（C/S）的架构模型，通过一个可靠的链接来交换信息，是一个无状态的请求/响应协议。
HTTP使用统一资源标识符（Uniform Resource Identifiers, URI）来传输数据和建立连接。URI包括URL。

客户端请求消息

HTTP请求由请求行（request line）、请求头部（header）、空行和请求数据四个]]></description><category></category></item><item><title><![CDATA[网络协议基础]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/116306482</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/116306482</guid><author>curryzzb</author><pubDate>Fri, 30 Apr 2021 16:54:35 +0800</pubDate><description><![CDATA[网络协议基础
计算机之间的通信基础
首先需要得知对方的IP地址
主机在发送数据之前，首先会判断目标主机的IP地址跟它是否在同一个网段

在同一个网段，ARP广播、通过交换器\集线器传输数据
不在一个网段，则需要通过路由器转发数据

最终是根据MAC地址（网卡地址），输送数据到网卡，被网卡接受
ARP  在同一个网段下就可以进行广播,通过广播,获取MAC地址
计算机之间的连接方式：
集线器（hub）

hub就是中心的意思
半双工通信
集线器是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。
通俗]]></description><category></category></item><item><title><![CDATA[数据结构之顺序栈]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/116033081</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/116033081</guid><author>curryzzb</author><pubDate>Thu, 22 Apr 2021 21:23:52 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#define STACK_INIT_SIZE 100 //存储空间初始分配量
#define STACKINCREMENT 10   //存储空间分配增量
typedef struct
{
    int *base;     //栈底指针，在栈结构销毁之前，base值为NULL
    int *top;      //栈顶指针
    int stacksize; //当前已经分配的存储空间(总空间)]]></description><category></category></item><item><title><![CDATA[XSS（Stored）]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/116030570</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/116030570</guid><author>curryzzb</author><pubDate>Thu, 22 Apr 2021 20:28:31 +0800</pubDate><description><![CDATA[XSS（Stored）：
存储型跨站脚本攻击
Low：
&lt;?php

if( isset( $_POST[ 'btnSign' ] ) ) {
    // Get input
    $message = trim( $_POST[ 'mtxMessage' ] );
    $name    = trim( $_POST[ 'txtName' ] );

    // Sanitize message input
    $message = stripslashes( $message );
 ]]></description><category></category></item><item><title><![CDATA[XSS（Reflected）]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/116030529</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/116030529</guid><author>curryzzb</author><pubDate>Thu, 22 Apr 2021 20:27:58 +0800</pubDate><description><![CDATA[XSS（Reflected）：

XSS全称Cross Site Scripting，即跨站脚本攻击，某种意义上也是一种注入攻击，是指攻击者在页面中注入恶意的脚本代码，当受害者访问该页面时，恶意代码会在其浏览器上执行

Low：
源代码：
&lt;?php

header ("X-XSS-Protection: 0");

// Is there any input?
if( array_key_exists( "name", $_GET ) &amp;&amp; $_GET[ 'name' ] != NU]]></description><category></category></item><item><title><![CDATA[File Upload（文件上传漏洞）]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/115914427</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/115914427</guid><author>curryzzb</author><pubDate>Tue, 20 Apr 2021 17:38:23 +0800</pubDate><description><![CDATA[File Upload：

文件上传漏洞
通常是由于对上传文件的类型、内容没有进行严格的过滤、检查，使得攻击者可以通过上传木马获取服务器的webshell权限

Low：
源代码;
&lt;?php

if( isset( $_POST[ 'Upload' ] ) ) {
    // Where are we going to be writing to?
    $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/"; //文件上传到的目录]]></description><category></category></item><item><title><![CDATA[XSS（DOM）]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/115914357</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/115914357</guid><author>curryzzb</author><pubDate>Tue, 20 Apr 2021 17:36:30 +0800</pubDate><description><![CDATA[XSS（DOM）：
Low：
源代码：
&lt;?php

# No protections, anything goes

?&gt; 	

服务器端并没有写任何的php代码，处理用户输入的只有前端的js代码
做法：将English改为

回车，产生了弹窗

查看前端源代码，可以看到被写入了value中

Medium：
源代码：
&lt;?php

// Is there any input?
if ( array_key_exists( "default", $_GET ) &amp;&amp; !i]]></description><category></category></item><item><title><![CDATA[数据结构之单链表]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/115877605</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/115877605</guid><author>curryzzb</author><pubDate>Mon, 19 Apr 2021 23:38:18 +0800</pubDate><description><![CDATA[数据结构之单链表
基础知识


头指针：指向第一个结点，如果有头结点，则指向头结点


头结点
a. 在单链表中设置头节点的作用是为了方便单链表的特殊操作（如：简化插入、删除操作），这样可以保持单链表操作的统一性。
b. 头结点同样包含了数据域和指针域，其数据域中可存值或者不存值，其指针域指向第一个结点


中间结点：包含数据域（data）和指针域（next），通过结点地址以链式相连。


尾结点：其指针域为空(NULL)。


数据域：包含多种类型，可以为整型，或者数组型，结构体型等等。


指针域
头结]]></description><category></category></item><item><title><![CDATA[windows的基础命令]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/115802924</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/115802924</guid><author>curryzzb</author><pubDate>Sat, 17 Apr 2021 22:11:31 +0800</pubDate><description><![CDATA[Windows的常用命令
基础命令：


路径的切换


在同个磁盘下的切换
cd..  进入上一级路径
cd\   切换到根目录
cd\加路径   进入该路径下



不同磁盘下的切换
D:  切换到D盘





创建目录命令


md 文件名
md a   在当前路径下创建一个a目录



创建多级子目录
md a\b\c\d





删除操作


del 路径   删除指定的文件


del 文件名   删除文件夹下所有非文件夹的文件
比如  现在D盘中存在a文件夹，a文件夹下又存在b.txt
D]]></description><category></category></item><item><title><![CDATA[CSRF（跨站请求伪造）]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/115601772</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/115601772</guid><author>curryzzb</author><pubDate>Sun, 11 Apr 2021 16:42:33 +0800</pubDate><description><![CDATA[CSRF：
跨站请求伪造，利用受害者尚未失效的身份认证信息（cookie、会话等），诱骗其点击恶意链接或者访问包含攻击代码的页面，在受害人不知情的情况下以受害者的身份向（身份认证信息所对应的）服务器发送请求，从而完成非法操作（如转账、改密等）。
Low：
源代码：
&lt;?php

if( isset( $_GET[ 'Change' ] ) ) {
    // Get input
    $pass_new  = $_GET[ 'password_new' ];
    $pass_conf = $_]]></description><category></category></item><item><title><![CDATA[Command Injection：（命令行注入）]]></title><link>https://blog.youkuaiyun.com/curryzzb/article/details/115601493</link><guid>https://blog.youkuaiyun.com/curryzzb/article/details/115601493</guid><author>curryzzb</author><pubDate>Sun, 11 Apr 2021 16:29:35 +0800</pubDate><description><![CDATA[Command Injection：

命令注入，通过提交恶意构造的参数破坏命令语句结构，从而达到执行恶意命令的目的。

Low：
源代码：
&lt;?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'W]]></description><category></category></item></channel></rss>