自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 PHP反序列化

php序列化的过程就是把数据转化成一种可逆的数据结构,逆向的过程就叫做反序列化。php将数据序列化和反序列化会用到两个函数:serialize 将对象格式化成有序的字符串。unserialize 经字符串还原成原来的对象。序列化的目的是方便数据的传输和储存。a:3:{i:0;s:4:"anan";i:1;s:3:"shi";i:2;s:2:"zi";a:array代表是数组,后面的3说明有三个属性i:代表是整型数据int,后面的0是数组下标。

2023-02-28 21:11:05 1434

原创 The Planets: Earth-Vulnhub靶场

得到一些信息,三段信息可能使用的是XOR算法进行的加密,曾经发送过信息,存在一个txt的测试加密,可以通过这个txt获得加密方式,用户名是terra,密码目前未知。可以看出会检查触发器是否存在为条件,这里就是/dev/shm/kHgTFI5G、/dev/shm/Zw7bV9U5、/tmp/kcM0Wewe这3个文件夹都需要存在。访问https://earth.local与https://terratest.earth.local。在https://earth.local最下面发现了三段加密信息。

2022-10-05 16:12:48 1740

原创 dc-1靶机

显示修改成功,尝试去登陆发现登陆失败,这里显示的密码是加密过的,尝试去找到drupaldb的加密方式,然后把密码更改为一个加密过的但是是已知的密码。可以看到开放了ssh端口和http和111端口,尝试查看一下网站,有一个登陆框,尝试sql注入,发现没有用,不过可以从界面发现cms是drupal。使用说明:下载后解压后得到一个ova的文件,在vm虚拟机中直接打开设置好相关的设置,配置好之后,注意靶机和kali的网络设置调换成NAT模式。知道了cms是drupal,drupal有一些可以利用的漏洞进入msf。

2022-09-28 09:52:38 1381

原创 Dest0g3 部分wp

下载下来没有后缀,修改后缀.rar解压打开后有一堆文件,一个个打开查看,在document.xml里发现一长串base64解码后得到一串不知道什么的编码,百度搜索要用urllib.parse.unquote转码,如果直接用utf-8在线转换得不到下一步的密码,没搞懂怎么用的,先没写。存下来,发现有一个flag.txt,要密码,把压缩包扔进010,看看是不是伪加密,发现不是,尝试暴力破解也不行,看看图片是不是进行了什么隐写,放到stegsolve中,发现密码,这里的密码中间的空格要去掉。...

2022-08-28 18:36:56 1395

原创 xss跨站攻击

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户目的。流量劫持获取用户cookie信息,盗取账号篡改、删除页面信息(钓鱼)配合CSRF攻击,实施进一步攻击XSS分类。

2022-08-21 18:22:36 375

原创 buu web部分wp

上传文件,然后截取内容,从第六位开始的内容都会赋给data,然后会有一个黑名单一样的东西,如果data中存在黑名单字符,就会die。进入admin.php页面,使用admin 12345成功登录,发现可以进行网页编辑,但是需要权限。没得到flag,查看其它wp知道环境有点问题,flag不在这里,但是可以使用env来得到flag。fuzz之后,数字及英文字母都被过滤了。打开题目,要进行getshell。发现需要使用文章中第二种的方式。直接上传一个php文件。在微信这里存在目录穿越。编辑代码,拿到flag。

2022-08-21 18:06:43 246

原创 HTTP 请求走私漏洞

所谓CL-TE,就是当收到存在两个请求头的请求包时,前端代理服务器只处理Content-Length这一请求头,而后端服务器会遵守RFC2616的规定,忽略掉Content-Length,处理Transfer-Encoding这一请求头。前端服务器收到该请求,通过读取Content-Length,判断这是一个完整的请求,然后转发给后端服务器,而后端服务器收到后,因为它不对Content-Length进行处理,由于Pipeline的存在,它就认为这是收到了两个请求,分别是。这就有可能导致请求走私。......

2022-08-14 19:58:26 1520

原创 buu web部分wp

访问/api/deal可以进行**,但是只要我们的 state 不会变,我们的余额就不会变,当我们的应答包含 BlackJack 的时候,我们的余额会增加,然后我们就可以获取它的 SerectState 进行下一次**,这样就可以一直赢了。得到cookie,到这里没有思路,查看wp提示和rack.session无关,所以尝试修改user的前三位为111,查看回显:得到报错信息。本题也就是每块内容被分成固定的大小块单独加密,推测为ECB模式,若是CBC模式,修改前面内容,后面内容会变成乱码。...

2022-08-14 18:29:48 461

原创 CSRF漏洞

而如果黑客要对银行网站实施 CSRF攻击,他只能在他自己的网站构造请求,当用户通过黑客的网站发送请求到银行时,该请求的 Referer 是指向黑客自己的网站。因此,要防御 CSRF 攻击,银行网站只需要对于每一个转账请求验证其 Referer 值,如果是以 bank.example开头的域名,则说明该请求是来自银行网站自己的请求,是合法的。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。利用工具进行CSRF检测。...

2022-08-07 17:34:02 964

原创 buu web部分wp

查看wp发现存在ssti漏洞,在提交数据的时候,有三个可控参数,经测试在event_important参数存在模版注入,输入__dict__,发现成功回显。在使用sqlite_master时使用错误的语法,sqlite将会忽略后面列的名称,无论列的名称是否真实的存在,除非在列之间放置。在使用sqlite语法的时候列名是可以加方括号的,是为了和mysql语法兼容。打开以后是一个登录的网站,不能用admin注册,随便用个别的,登陆后,拿到redis的密码root,打redis,这一题的考点是在。...

2022-08-07 15:42:13 433

原创 php反序列化部分学习

_isset()//在不可访问的属性上调用isset()或empty()触发。//a为要反序列化的对象(序列化结果开头是a,不影响作为数组元素的$a的析构)__wakeup()//执行unserialize()时,先会调用这个函数。__callStatic()//在静态上下文中调用不可访问的方法时触发。__unset()//在不可访问的属性上使用unset()时触发。__call()//在对象上下文中调用不可访问的方法时触发。__set()//用于将数据写入不可访问的属性。...

2022-07-24 17:09:30 407

原创 Python学习笔记

注意当while循环正常执行后,程序会继续执行else语句中的内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。3、最后面的else语句没有进行条件判断,它实际处理的是跟前面所有条件都不匹配的情况下的情况,所以else语句必须放在最后。当for循环正常成执行之后,程序会继续执行else语句中的内容。break用来跳出最内层for或while循环,脱离该循环后程序从循环代码后继续执行。用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。...

2022-07-17 18:23:35 314

原创 SSTI基础学习

一、什么是SSTISSTI就是服务器端模板注入(Server-Side Template Injection),也给出了一个注入的概念。常见的注入有:SQL 注入,XSS 注入,XPATH 注入,XML 注入,代码注入,命令注入等等。SSTI也是注入类的漏洞,其成因其实是可以类比于sql注入的。sql注入是从用户获得一个输入,然后又后端脚本语言进行数据库查询,所以可以利用输入来拼接我们想要的sql语句,当然现在的sql注入防范做得已经很好了,然而随之而来的是更多的漏洞。SSTI也是获取了一个输入,然后再后

2022-07-10 15:51:58 3861

原创 永恒之蓝复现

什么是永恒之蓝SMB协议原理本漏洞需要用到kali自带的Metasploit渗透工具,关于该工具的使用,之后再细讲。下面开始复现。需要windows7(关闭防火墙),kalilinux先要确定ip地址windows:ipconfig 192.168.195.129kali:ifconfig 192.168.195.128开启Metasploit框架使用永恒之蓝漏洞:显示所需要的参数我们需要设置一个远程主机ip和一个自己电脑ip,外加一个攻击载体,就可以进行攻击了(依次执行下边命

2022-07-08 10:06:44 475

原创 MD5绕过

1.0e绕过弱比较会把0exxxx当做科学计数法,不管后面的值为任何东西,0的任何次幂都为0要求get获取的a和b的值要求不相等,但要求其md值相同2. 数组绕过md5()函数计算的是一个字符串的哈希值,对于数组则返回false传入可以看到,MD5一个数组返回了null,null==null,成功绕过3. 强类型绕过因为强类型比较,不仅比较值,还比较类型,0e会被当做字符串,所以不能用0e来进行但是可以用MD值完全相同的字符来进行绕过上面的方法都不能用了,百度发现是强类型绕过payloa

2022-07-03 12:03:17 774

原创 xss注入

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户目的。XSS危害:XSS分类测试管理界面是否存在XSS:在用户名框中输入">(闭合input标签)结果,界面弹窗,证明该系统存在XSS注入上一步验证得出,该页面存在XSS漏洞。接下来针对该漏洞

2022-07-03 11:33:50 1549

原创 文件包含&条件竞争

session.upload_progress与open_basedir、allow_url_fopen、allow_url_include等PHP配置一样,session.upload_progress也是PHP的一个功能,同样可以在php.ini中设置相关属性。其中最重要的几个设置如下:session.upload_progress.enabled可以控制是否开启session.upload_progress功能session.upload_progress.cleanup可以控制是否在上传之后删除

2022-06-26 13:05:51 394

原创 XML实体注入漏洞

XXE漏洞全称XML External Entity Injection即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD可被成行地声明于XML文档中,也可作为一个

2022-06-18 18:12:27 1025

原创 碎知识...

curl_init : 初始化一个cURL会话,供curl_setopt(), curl_exec()和curl_close() 函数使用。curl_setopt : 请求一个url。其中CURLOPT_URL表示需要获取的URL地址,后面就是跟上了它的值。CURLOPT_RETURNTRANSFER 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。curl_exec,成功时返回 TRUE, 或者在失败时返回 FALSE。 然而,如果 CURLOPT_RETURNTRANSFER选项

2022-06-18 17:10:15 828

原创 文件上传漏洞

文件上传漏洞简介:文件上传漏洞是web安全中经常用到的一种漏洞形式,是对数据与代码分离原则的一种攻击。上传漏洞,就是攻击者上传一个可执行文件,如木马、病毒、恶意脚本、webshell等到服务器中执行,并最终获得网站控制权限的高危漏洞。文件上传漏洞原理:大部分的网站和应用系统都有上传功能,而程序员在开发任意文件功能时,并未考虑文件格式后缀的合法性校验或者是否只在前端通过js进行后缀检验。这时攻击者可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(jsp、asp、php、aspx文件后缀)到服务器

2022-05-15 18:19:23 257 1

原创 php(8)

文章目录字符串处理字符串处理一、去除空格或其他字符函数1.trim$str=' abc ';var_dump($str);var_dump(trim($str));$str='abcabcdefac';var_dump($str);var_dump(trim($str,'bac'));//如果要去除多个字符可以连着写二、大小写转换函数$str='test';var_dump($str);$str1=strtoupper($str);var_dump($str);$s

2022-05-01 19:11:06 91

原创 文件包含漏洞

文章目录本地包含远程文件包含原理:文件包含漏洞的产生原因是在通过 PHP 的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。这个漏洞最重要的有四个函数:1、include() 当使用该函数包含文件时,只有代码执行到 include()函数时才将文件包含进来,发生错误时只给出一个警告,继续向下执行。2、include_once() 功能和 include()相同,区别在于当重复调用同一文件时,程序只调用一次。3、requi

2022-04-24 20:12:08 2730

原创 buuctf web(3)

文章目录[HCTF 2018]WarmUp[ACTF2020 新生赛]Include[强网杯 2019]随便注[ACTF2020 新生赛]Exec[GXYCTF2019]Ping Ping Ping[ACTF2020 新生赛]Upload[HCTF 2018]WarmUp打开环境,查看源代码,发先一个文件,访问,一堆php代码又发现一个文件,访问然后没有思路了,查看大佬的wp,发现php代码最下面有一段if判断,最下面的这段php代码的意思是:这段代码的意思是如果 file 不空、为字符串且经过

2022-04-24 16:33:46 1795

原创 php(7)

文章目录预定义超全局数组变量处理数组的相关函数预定义超全局数组变量已经定义好了(存在)的变量(存放的数据的类型是数组)。超全局:超级全局变量,作用域(有效区域)传递数据(提交数据)给服务器端主要两种方式1.get方式比如:?参数名=参数值&参数名=参数值…http://localhost/demo5_3/index.php?参数名=参数值在服务器端(请求的php文件这边)可以通过$_GET来获取到GET索引值为参数名,索引值对应的数据就是参数值∗∗2.post方式∗∗比如表单po

2022-04-17 18:28:10 568

原创 web做题小收获

文章目录http头刷题后发现很多东西都不会,百度学习了一些http头一些常见的http头text/html : HTML格式text/plain :纯文本格式text/xml : XML格式image/gif:gif图片格式image/jpeg :jpg图片格式image/png:png图片格式GIF...

2022-04-16 22:40:51 2669

原创 buuctf web wp(2)

文章目录[极客大挑战 2019]Knife[极客大挑战 2019]Http[极客大挑战 2019]BuyFlag[极客大挑战 2019]Knife题目提示很明显了是要用菜刀或者蚁剑csdn上有详细的安装教程,很简单,配置好后打开蚁剑,输入网址,链接密码是Syc,连接后在目录栏找到flag[极客大挑战 2019]Http打开题目是一个网站,查看源代码找到一个文件,点开一串英文,能看懂,但是不影响我不会做,查看别人的wp,发现说这个来源不对,这里就需要改http的header,添加一个Refe

2022-04-15 22:07:22 1127

原创 php(6)

文章目录内部(内置)函数数组创建数组的遍历内部(内置)函数php提供给我们许多现成的函数或者结构,我们可以在实际的卡法中直接使用,还有一些函数需要开启特定的php模板,否则在使用的时候会得到一个致命的未定义函数错误一些常用的内置函数或者扩展的函数,我们会在后面陆陆续续的学习到,一些不太常用的不用太了解,在以后需要使用的时候才回去查相应的函数数组创建变量类型方法一、变量名称[索引值]=数据;变量名称[]=数据;//不写索引值默认是 索引数组,从0开始索引值可以是数字或者字符串是数字时是索

2022-04-10 19:24:25 232

原创 ctfhub 目录遍历

什么是目录遍历:目录遍历是由于网站存在缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露比如数据库备份文件,配置文件等目录遍历这个漏洞需要经常的去摸一摸,探一探存在资源的地方就极有可能存在目录遍历几种目录遍历的攻击手段:目录遍历的方式基于操作系统。Linux系统:cd …命令是返回上一级的目录…/这个命令,贯穿了整个目录遍历攻击,也是目录遍历攻击的核心。如果对方服务器是Linux,攻击手段就是通过…/,这一个…/将贯穿整个目录遍历攻击Windows操作系统目录遍历攻击:

2022-04-10 01:07:13 1212

原创 buuctf web wp

文章目录[极客大挑战 2019]EasySQL[极客大挑战 2019]EasySQL打开后是一个登录框,直接尝试万能密码(用户名:1’ or 1=1 # 密码:随便输)登录得到flag这里的万能密码是为什么呢?数据库中的查询语句:select id from users where username = '' or 1=1-- and password = '456'又 这里呢1=1永远为真,后面 and password = '456’被注释掉了。数据库不需要考虑,这里我们就跳

2022-04-10 00:42:20 658

原创 ctf wp

文章目录被嗅探的流量镜子里的世界隐藏的钥匙另外一个世界神秘龙卷风[第一章 web入门]常见的搜集web签到被嗅探的流量下载后打开题目没有思路,查看别人的wp发现是文件传输找POST的包,用wireshark追踪http流量 http.request.method==POST在文件末尾找到flag镜子里的世界打开后是一张图片,隐写套路,查看属性,用winhex打开都没发现什么有用的信息,这时注意到图片名steg想到了用stegslove打开图片,查看图片并没有发现有用的信息,调整后发现flag隐

2022-04-03 16:47:22 3001

原创 sql注入

文章目录一些简单的判断注入点的方法:一些简单的判断注入点的方法:1.单引号判断http://www.xxx.com/xxx.asp?id=10’ 如果出现错误提示,则该网站可能就存在注入漏洞。2.and判断http://www.xxx.com/xxx.asp?id=10’and 1=1这个条件永远都是真的,所以当然返回是正常页http://www.xxx.com/xxx.asp?id=10’and 1=2如果报错那说明存在注入漏洞,还要看报的什么错,不可能报任何错都有注入漏洞的。3.or判断(

2022-04-03 14:07:17 3587

原创 php(5)

文章目录PHP变量的范围参数的传递可变函数(变量函数)递归函数PHP变量的范围1.局部变量function test(){$a=1;//局部变量$a,尽在这个函数内部有效}echo $a;2.全局变量$i=10;//全局变量(外部变量)define('MY_NAME','abc');function test(){echo MY_NAME;global $i;//声明$i为全局变量,然后再这个函数内部就可以使用$iecho $i;$a=1;}test();3.静态变量

2022-03-29 20:58:36 89

原创 sql-labs第五关

文章目录第5关用前面的id=1时页面报错,无法进行下一步,上网查资料,要用到报错注入

2022-03-26 10:22:51 1242

原创 php(4)

文章目录流程控制:自定义函数流程控制:PHP程序执行的过程进行控制PHP有哪些手段对程序执行过程进行控制一、顺序执行自上而下的执行即可 对这个执行过程没有控制二、分支执行分支执行可以根据条件是否满足来选择执行某些代码,PHP的分支执行主要通过两种语句(if,switch)来实现1.if语句注意:我们if语句的表达式所控制的代码,最好用花括号括起来,哪怕就是一条语句也用花括号括起来(这样容易读懂代码)1)单向条件if(表达式) 语句1;表达式的值为true 那么就执行语句1,否则就不

2022-03-24 19:23:59 3873

原创 php(3)

文章目录一.运算符(2)一.运算符(2)5.逻辑运算符概念:对表达式进行逻辑运算,运算出的结果时布尔类型的值(true,flase )要求:参与逻辑运算的表达式的值是布尔类型的值,如果不是布尔类型的值,然后再参与运算!1.)逻辑与:ang或者&&左右两边的表达式的值都是true的时候,运算的结果就是true 否则只要其中任何一个为false,运算的结果就是falsetrue 及格false 不及格左右两边2.)3.)4.)5.)6.)...

2022-03-15 20:21:59 98

原创 php (2)

文章目录一·常量1.概念常量是用于临时(只有在我们的程序运行过程中才存在)存储值(数据)的容器2.定义和使用define(常量名称,常量值)define(‘常量名称’,常量值)或者define(“常量名称”,常量值)常量的命名:1.)和变量一样 只能包含数字 字母 下划线 并且必须以 字母或者下划线开头2.)按照惯例常量名字总是大写的defined()函数来检查是否定义了某个常量3.常量和变量的区别1.)变量前面没有美元符号($)2.)常量只能用define()函数定义,不能通过赋

2022-03-12 11:09:36 275

原创 php(1)

1.php开始标记<?ph[2.php结束标记?><?php ?>

2022-03-09 20:56:10 91

原创 java初学

标识符就是给类,接口,方法,变量等起名字时使用的字符序列,组成规则只能包含下面的内容,不能有其它内容:英文大小写字母数字字符$和_注意事项数字不能开头不可以使用关键字严格区分大小写,不限制长度起名时,尽量见名知意标识符中常见的命名规则包名:多单词组成时所有字母均小写,使用.连接.比如:aaa.bbb.ccc类名&接口名:大驼峰式。比如:AaaBbbCcc变量名&方法名:小驼峰式。比如:aaaBbbCcc常量名:多单词组成是所有字母均大写,使用_连接。比如:AAA_

2022-02-20 16:33:11 147

原创 upload-labs wp

1.查看源码发现有三种后缀文件能够上传一个一个尝试后发现都不行,百度后发现要上传<?php phpinfo();?>的木马文件后缀为.jpg使用burp抓包并修改文件后缀为php,查看响应上传成功后查看php2:查看源代码发现提示为MIME验证,百度搜索发现需要通过burp抓包修改数据包的第二个content-type,并查看响应拖拽点击上传成功的图片木马,看到php配置页面即可说明上传成功3.查看源码发现不允许上传.asp,.aspx,.php,.jsp后缀的文件尝试上传一

2022-02-11 11:45:30 2281

原创 sql-labs wp

做题前了解了下基本的注入语句1.order by 4 -- -判断有多少列union select 1,2,3 -- -判断数据显示点union select 1,user(),database()­­ -- -­显示出登录用户和数据库名union select 1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security' ),3 -- -查看数据库有哪些表

2022-02-11 11:12:42 2984

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除