<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sacrifice_li的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Sacrifice_li</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Sacrifice_li]]></copyright><item><title><![CDATA[php递归匹配以及无参数文件读取]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108934140</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108934140</guid><author>Sacrifice_li</author><pubDate>Mon, 05 Oct 2020 23:02:04 +0800</pubDate><description><![CDATA[1.
php正则匹配-递归匹配
例如：
preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])

其中[^\W]+ 表示任意的字符和数字以及下划线，匹配1次或者多次
然后是匹配 "(" 一次
然后是(?R)? 表示递归匹配 也就是表示当前的正则匹配pattern这整个式子，（?R）代表的是整个式子，而最后一个?表示的是给予这个递归一个终止信号，因为？可以表示0次或者1次，所以同样可以用*来代替。当然这里?以及*可能出现递归栈的不同。

综上所述：该正则可以匹]]></description><category></category></item><item><title><![CDATA[2020.9.25学习小结]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108804343</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108804343</guid><author>Sacrifice_li</author><pubDate>Fri, 25 Sep 2020 21:09:04 +0800</pubDate><description><![CDATA[1
int eregi(string pattern, string string)

检查string中是否含有pattern（不区分大小写），如果有返回True，反之False。

2.
sql_mode()
PIPES_AS_CONCAT
将"||"视为字符串的连接操作符而非或运算符，这和Oracle数据库是一样是，也和字符串的拼接函数Concat想类似



ANSI_QUOTES
启用ANSI_QUOTES后，不能用双引号来引用字符串，因为它被解释为识别符

具体实现方法：set sql_mo..]]></description><category></category></item><item><title><![CDATA[buuctf-Ping Ping Ping]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108803665</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108803665</guid><author>Sacrifice_li</author><pubDate>Fri, 25 Sep 2020 21:07:01 +0800</pubDate><description><![CDATA[进来页面简单粗暴，就知道是个命令注入了：



那没什么好说的，就一个个测试呗

依据命令注入来看，最常见的是ls和pwd，发现均可以执行，发现在当前目录下存在一个flag.php以及index.php

在未打开index.php之前发现：

①没有过滤 ; | 以及||

②过滤的内容有：" ",(),&lt;&gt;,\,/ 以及空格



做到这里实际上我就卡住了，我尝试了各种方式譬如：%0,%00,\0,/0./**/,来绕过空格过滤发现都不行，接着去网上搜索了一下如何绕过bash的空格过滤...]]></description><category></category></item><item><title><![CDATA[buuctf-secretfile]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108797568</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/108797568</guid><author>Sacrifice_li</author><pubDate>Fri, 25 Sep 2020 15:27:50 +0800</pubDate><description><![CDATA[进来页面如下：



目前图中所包含信息不多，所以f12打开，看到有一个链接，点进去：



看到如下界面：



然后中间的secret可以点击，但是点击之后会跳转，而且会提示我们没看到，这里就想到抓个包：





抓包看到有一个.php文件：





再接着过去访问一下，就看到了一串php代码：



根据代码意思，我们需要的东西放在了flag.php文件里面，但是这边过滤了一些文件访问的协议，但是有一个协议没有被过滤就是php协议，

所以构造如下payload：

?file=php://f..]]></description><category></category></item><item><title><![CDATA[T-star高校挑战赛之文件上传]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/107058117</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/107058117</guid><author>Sacrifice_li</author><pubDate>Wed, 01 Jul 2020 10:33:34 +0800</pubDate><description><![CDATA[进来页面如下：



然后就是去上传一下文件，打开burpsuite，抓包。

首先上传内容是包含了一句话木马的jpg文件（6.jpg）

被告知文件内容不正确：



这边猜测是其检测了文件开头不符合要求，随即将开头改成GIF56a，发现文件上传成功：



但同时被告知文件大小不正确，这边采取的方式是添加注释，将其大小变成20kb：



成功上传，同时路径也被告知。

接来下尝试上传php文件，经过测试php和php4以及php5是被过滤掉了，这里采用了Php即大小写绕过方式，成功将文件上传上去。

]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之mfw]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106818060</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106818060</guid><author>Sacrifice_li</author><pubDate>Wed, 17 Jun 2020 21:06:05 +0800</pubDate><description><![CDATA[进来页面如下：



虽然在源码中找到了flag.php但是访问了是个空页面。

然后在about中发现了一些好玩的：



这大致猜测是git源码泄露了：

然后用githack来获取内容：

得到如下信息：



虽然templates中也有内容，但是并不重要，在index.php中有一些特别的内容：



在assert中会执行括号内的内容。

所以可以利用assert函数的特性，来读取flag.php。

构造page=abc') or system(cat /templates/flag.php)]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之upload]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106714709</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106714709</guid><author>Sacrifice_li</author><pubDate>Fri, 12 Jun 2020 14:38:20 +0800</pubDate><description><![CDATA[进来页面如下：



然后就是正常的去注册一个用户，并且登录，我在这里也做了拦截，但是并没有什么有价值的信息：



登录进来之后是这样的一个页面，是文件上传（不过根据题目意思也是肯定可以知道的）。

我在这边也做了测试，只能够上传jpg文件，想要尝试php4，php5，php文件后缀都是不可以的。

然后我就在考虑是否是文件后缀截断上传，但是抓包截取内容之后并没有返回文件上传到哪里了，同时nikto和dirb扫描也没有发现什么有价值的信息。



接下来的话，就是看别人的wp了。不过说真的，第一次接触到.]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之ics-05]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106699682</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106699682</guid><author>Sacrifice_li</author><pubDate>Fri, 12 Jun 2020 00:02:50 +0800</pubDate><description><![CDATA[进来页面是：



然后用nikto 扫描了一下：



它提示说是任何一个攻击者都可以任意读取文件：

那么就尝试一下读取页面源码：

index.php?page=php://filter/read=convert.base64-encode/resource=index.php

然后就去转码一下得到了：


&lt;?php
error_reporting(0);

@session_start();
posix_setuid(1000);


?&gt;
&lt;!DOCTYPE HTML&gt;]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之ics-04]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106698779</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106698779</guid><author>Sacrifice_li</author><pubDate>Thu, 11 Jun 2020 23:01:57 +0800</pubDate><description><![CDATA[进来页面是这样的：



注册页面：



我们就尝试随便注册一个用户，然后登陆发现没啥用：



这里还有一个忘记密码可以点击：



可以猜测这里有没有注入漏洞：

我注册的用户名为1，然后去试试 1’ and 1=1# 以及 1' and 1=2# ,发现是存在注入漏洞的。

然后就去判断字段数以及那个字段是有回显的，1' order by 4# 可以显示，然后-1’ union select 1,2,3,4:



3的位置是回显位置，接下来就是去找数据库名：

-1' union select .]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之web2]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106697979</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106697979</guid><author>Sacrifice_li</author><pubDate>Thu, 11 Jun 2020 22:03:06 +0800</pubDate><description><![CDATA[进来页面是一串php代码：



已经告诉我们解密miwen就可以了。

总体思路是先rot13加密，然后base64解码，再askll码-1，然后逆序输出

用python写个脚本：


#!/usr/bin/env python 
# -*- coding:utf-8 -*-
import base64
str_rot13="n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf"
str_base64="~88:36e1bg8438e4]]></description><category></category></item><item><title><![CDATA[学习笔记 强网杯-随便注]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106697453</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106697453</guid><author>Sacrifice_li</author><pubDate>Thu, 11 Jun 2020 21:33:48 +0800</pubDate><description><![CDATA[set @b=concat("sel","ect flagfrom `1919810931114514` ");

PREPARE：准备一条SQL语句，并分配给这条SQL语句一个名字供之后调用

prepage hello from @b;

EXECUTE ：执行命令

execute hello;



即可在过滤了select的时候执行select命令


...]]></description><category></category></item><item><title><![CDATA[python json.dumps()自动排序解决办法]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106696244</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106696244</guid><author>Sacrifice_li</author><pubDate>Thu, 11 Jun 2020 20:24:59 +0800</pubDate><description><![CDATA[由于在开发过程中，从后端查询出来的数据和json.dumps()方法出来的字段顺序不同，导致前端的动态表格创建顺序错误，所以需要在json格式化的时候不让其自动排序。

这里自动排序的原因大致是因为dict本身是一个对象，所以在其在格式化的时候自动排序是很正常的。

这里给出python解决自动排序的方法：


json.dumps(dict,sort_keys=False)



dict指的是从数据库查询出来的数据
...]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之Fakebook]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106695669</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106695669</guid><author>Sacrifice_li</author><pubDate>Thu, 11 Jun 2020 20:19:58 +0800</pubDate><description><![CDATA[进来页面看到的是这样的东西：



然后先去随便点一下看看东西，这里有个join，想要注册一下内容，但是这个blog的格式不对的话就没办法join





这里就暂时没有什么思路了。

接下来去看看目录有哪些东西：

用kali的dirb或者nikto：



里面有一个bak文件，下载下来解压看一看：



然后大致查阅了一下内容，是说创建user然后从url里get信息，同时blog有一个正则匹配，需要有https://（可有可无），然后是数字和字符，加一个. 然后是2-6个字母，所以随便构造一个h.]]></description><category></category></item><item><title><![CDATA[攻防世界-高手进阶区之bug WP]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106681625</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106681625</guid><author>Sacrifice_li</author><pubDate>Thu, 11 Jun 2020 10:26:43 +0800</pubDate><description><![CDATA[创建靶机进来之后是这样的一个页面：



然后简单尝试一下弱密码之类的登录，无果。



接下来去注册一个账号试试：





然后再尝试一下用这个注册的账号登录进去：



进来的页面是这样子的。



然后就去点一点各个模块，发现在点击manage的时候，提示说我们不是admin：



那大概就是猜测，用户名是admin，然后要去找密码了。

现在发现这边还有一个模块是修改密码的，然后尝试一下抓包看看是什么东西：



看到并没有什么我们想要的东西，之前关注在注册模块下面还有一个findpd模块，..]]></description><category></category></item><item><title><![CDATA[kali安装docker]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106164056</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106164056</guid><author>Sacrifice_li</author><pubDate>Sat, 16 May 2020 19:48:45 +0800</pubDate><description><![CDATA[使用以下命令即可：

curl -fsSL http://mirrors.zju.edu.cn/docker-ce/linux/debian/gpg|sudoapt-key add -

echo'deb http://mirrors.zju.edu.cn/docker-ce/linux/debian/ buster stable'|sudotee/etc/apt/sources.list.d/docker.list

sudoapt-get update

sudoapt-getin...]]></description><category></category></item><item><title><![CDATA[渗透靶机测试--billu_b0x2--学习笔记]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106115389</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/106115389</guid><author>Sacrifice_li</author><pubDate>Thu, 14 May 2020 14:54:10 +0800</pubDate><description><![CDATA[最近找了几个渗透靶机来玩玩，主要目的是为了获取root权限。这次的靶机名字是billu_b0x2,下载地址

攻击机ip：192.168.6.128

靶机 ip：192.168.6.132





1.打开目标靶机，正常用nmap扫描一下目标靶机的ip，

    使用命令 nmap -sP 192.168.6.0/24

    可以找到目标靶机的ip地址为192.168.6.132

2.寻找靶机开放端口

    使用命令 nmap -p- -A -T4 192...]]></description><category></category></item><item><title><![CDATA[layui弹出层+联动下拉框]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/105263226</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/105263226</guid><author>Sacrifice_li</author><pubDate>Thu, 02 Apr 2020 10:19:30 +0800</pubDate><description><![CDATA[本人最近在做前端开发项目，用到了layui框架。

其中在弹出层，弹出内容为表单，表单中有联动下拉框的时候遇到了不小的问题。搜遍了百度，社区均无果，好在在社区提问了之后，有个兄弟及时帮我解决了问题。在此特别感谢一下他！！！要不是他我的实习进度要拖太久了。



这边记录一下在开发弹出层+联动下拉框的时候遇到的一些问题吧

1.由于我的表单中的是放在&lt;body&gt;之外的，这里参考的是la...]]></description><category></category></item><item><title><![CDATA[关于layui中动态添加的select获取value和text的说明]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/105178026</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/105178026</guid><author>Sacrifice_li</author><pubDate>Sun, 29 Mar 2020 14:12:44 +0800</pubDate><description><![CDATA[在一次实习中，使用了layui做前端，flask用于后端的工作。

在layui弹出层中，弹出了一个form表单，在表单中需要使用联动下拉框。

但是遇到了一个小问题，就是在动态添加了option之后，无法正确获取value和text。

使用网上的方法

1.var data=$("#lay-filter").val()

2.var myselect=document.getElementBy...]]></description><category></category></item><item><title><![CDATA[学习笔记10.25-11.1]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/102945260</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/102945260</guid><author>Sacrifice_li</author><pubDate>Wed, 06 Nov 2019 23:10:51 +0800</pubDate><description><![CDATA[php：
1.sql约束攻击
约束SQL注入的原理就是利用的约束条件，比如最长只能有15个字符的话，如果你输入的是abcdefghijklmnop(16位），那么保存在数据库里的就是abcdefghijklmno，那么别人用abcdefghijklmno注册一个用户名，就可以登陆。
还有一个可以利用的地方就是SQL在执行字符串处理的时候是会自动修剪掉尾部的空白符的，也就是说"abc"=="abc ...]]></description><category></category></item><item><title><![CDATA[学习笔记11.6]]></title><link>https://blog.youkuaiyun.com/Sacrifice_li/article/details/102945203</link><guid>https://blog.youkuaiyun.com/Sacrifice_li/article/details/102945203</guid><author>Sacrifice_li</author><pubDate>Wed, 06 Nov 2019 23:06:08 +0800</pubDate><description><![CDATA[sql注入笔记：
1.order by （数字）、列名称 ----&gt;排序
数字指的是按照第几列进行排序，如果数字超过表的最大列，那么就会报错。
asc升序（默认），desc（降序）

2.union（默认选取不同的值） 如果允许重复，则使用union all------&gt;联合查询

union内部的每个select语句必须拥有相同数量的列。
union结果集中的列名总是等于union...]]></description><category></category></item></channel></rss>