- 博客(48)
- 收藏
- 关注
原创 XML标记语言
XML:可扩展性标记语言(HTML是超文本标记语言,XML和HTML极为相似)下面是一段标准的XML数据格式:(不同浏览器上展示形式可能不同)XML数据格式最主要的功能就是数据传输XML也可以用作配置文件,如:config.xml pom.xmlXML也可以存储数据,充当小型数据库XML被发明的目的是传输和存储数据,而不是展示数据(HTML是展示数据)XML标签必须自定义,必须有一个根节点(不是root也行,也可以自定义),而且它是W3C推举的数据传输格式。
2024-11-02 23:45:11 792
原创 upload靶场&sql靶场一点点见解
只有Xpath,第二部分,它会校验你的格式,所以只要我们把payload放在第二部分,它在把校验失败的数据暴露出来时,就把我们需要的数据爆出来了(漏洞本意是方便开发人员调试的)。以and(or)为中间线,左边是正常查询的内容,只要你在id的范围内(比如说任务定义id只有1-14)就是true,右边是我们自定义的判断T/F语句,正确便是true。而且在报错注入时候,不是一定要用0x7e,只要能让它校验失败,其他的也是可以的,如:0x5e24 或者 '#'。以后补充,告一段落,开启sql靶场。
2024-10-24 22:44:50 992
原创 jdk版本更换以及遇到的问题略谈(以jdk1.8和jdk11为例)
最近在进行漏洞复现(shiro550)的时候,用到一个工具,shiro_attack-2.2,下载之后,百般调试修改都不能运行,后来才发现是我的jdk版本不适配,我当时的java-jdk版本是jdk11,听大佬说更换为java-jdk1.8之后就可以使用了,于是我开始下载新的jdk。(以下简称jdk)下载之后,环境变量该如何配置呢?
2024-09-20 21:08:38 704
原创 MACCMS 远程命令执行漏洞复现(CVE-2017-17733)
MACCMS是一套采用PHP/MySQL数据库运行的全新且完善的强大视频电影系统。完美支持众多视频网站和高清播放器(youku,tudou,qvod,gvod等),完全免费开源。该漏洞主要的产生原因是CMS搜索页面搜索参数过滤不严导致直接eval执行PHP语句----(一句话木马)。(上面这段概述引自vulfocus哈)
2024-09-20 11:14:27 1246
原创 vulhub搭建漏洞环境docker-compose up -d命令执行报错以及解决方法汇总
这种情况大多数时候是因为我们没联网,以centOS为例,只需要在右上角点击有线-连接,返回命令行重新输入命令即可。到这里就没啥问题了,再次执行docker-compose up -d 就会看到complete,拉取环境镜像成功!输入完成后,按“Esc键”退出输入模式,输入 :wq (冒号是输入的一部分) 即可保存退出。这是最让我头疼的一个,后来经过老师指点,使用华为云镜像源,即可完美解决问题(亲测有效)。出现这个报错,是因为我们在拉取环境镜像时,docker镜像源有问题。按 i 进入输入模式。
2024-09-19 09:02:38 683
原创 《小迪安全》学习笔记04
也可以根据他的文章内容,比如什么什么官网,去(不同)浏览器:百度,火狐,谷歌去搜,然后又能得到新的IP或者域名,反正信息收集以收集足够多的IP,子域名等等为主。有些目标网站,点开之后,再进一步点页面中的其他内容,会出现另一个目录(比如说子目录),这就是两套程序,也就是两个网站,那么就有两个渗透的机会。pc机中将文件后缀名由.apk改为.zip,发现也是可以解压的,解压下来之后一般来说应该是java写的,可以进行分析,具体可以用渗透工具:“site:(任意)url:可以搜索出包含该域名的二级域名,三级域名。
2024-09-13 09:05:53 623
原创 《小迪安全》学习笔记03
绕过CDN实例中讲了一个,就是有的公司比如说xueersi,访问xueersi.com和www.xueersi.com效果是一样的,但是部署CDN的时候会,大部分公司只会在www下部署,这个时候只要超级ping:xueersi.com就会出现唯一真实的IP地址(现在貌似已经修改)。可以借助超级ping(ping.chinaz.com)来判断一个网站有没有设立CDN节点,超级ping可以从全国各地的计算机上来ping你给出的网站,如果ping的时候访问IP都一样,说明没有设立CDN节点,否则就是有。
2024-08-19 21:29:07 847 1
原创 《小迪安全》学习笔记02
在渗透的网站页面找到相关cms信息,下载同一套源码信息,在这套源码中找到后台登录信息(账号密码)在什么位置,然后在渗透网站访问,得到对应文件(比如说是.mdb文件),然后用工具打开,登录后台,美滋滋!(nmap -sS -sU -T4 -A -v -PE -PP -PS80,443,-PA3389,PU40125 -PY -g 53 --script all)慢速全面扫描。第七种:Quick scan plus (nmap -sV -T4 -O -F --version-light)
2024-08-01 12:01:35 632
原创 finalshell连接kali-Linux失败问题略谈
对我而言,在出问题两周后,kali才被分配了新的IP地址,输入ifconfig,出现了新的IP地址,然后我赶紧更改了fianlshell中的主机IP,然后进行连接,果不其然,连接成功!在这里,我有一个猜想,那就是IP地址改变以后,我们在终端输入ifconfig,它还是显示原来的IP地址,误导了我们,其中的原因我也不得而知。一般来说,虚拟机在NAT模式下由Vmware8虚拟网卡提供虚拟机IP分配,IP租约过期后,IP就会自动重新分配,从而造成IP地址自行变化。如有不足之处请大家批评指正。RZ命令也恢复正常。
2024-08-01 11:48:55 369
原创 PHP语言学习02
创建数组时可以直接在array()括号中添加数组值,可以integer,string混用等等。要想看到运行结果,打开浏览器(127.0.0.1/start/demo01.php)好久不见,学如逆水行舟,不进则退,真是这样。突然感觉自己有点废。其中,start是php代码存放位置,demo01.php是文件名。连接符“ . ” 相当于java里面的+,用来连接变量和字符串。注意: var_dump输出具有优先级,会输出到最前面。print_r函数:把数组里面的数全部打印。这样,k表示键,v表示具体的值.
2024-06-28 10:16:03 544
原创 Linux浅学笔记04
不知道为什么,centOS可以用yum命令,我用的kali不能,于是度娘了一下,是因为centOS用的是yum管理器,ubantu用的是apt管理器,我想kali应该也是apt管理器。公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口非特殊需要,不要占用这个范围的端口。两台电脑上的程序进行通信时,IP地址只能找到对方的电脑,却无法更加详细的找到电脑里的程序位置,所以就有了端口。
2024-02-26 17:24:59 805
原创 我对NBAL的遗憾
放了寒假,闲来无事,解两道CTF题,无意中发现了在实验室打比赛时那道自己没有做出来的CTF-misc图片隐写题 res.png。又因为之前用图片浏览器打开的时候,系统提示图片文件过大,所以我猜测可能在这个图片中隐藏了一个含有flag信息的txt文件。《飞驰人生2》里说过,人的一生中有无数次机会,但是重要的机会就那么一两次。
2024-02-20 21:36:27 238 1
原创 BUUCTF misc 二维码
打开题目:下载并解压后,得到一张二维码图片,我们使用 toolhelper.cn 里的二维码解析小工具查看得到:可以看到 secret is here接着把图片拖进winhex查看可以看到该图片中隐藏有别的文件,所以我们就要进行分离文件的操作。在这里我们使用binwalk ,因为我使用的kali-Linux自带binwalk,所以直接将该图片传输到Linux中。
2024-01-30 11:44:09 861
原创 Linux浅学笔记03
有关root的命令root(超级管理员):root是系统中的,该帐户拥有整个系统的最高权限,可方便地对于系统的部件进行删除或更改。一般情况下,输入命令su - root即可进入root用户模式操作,但由于我用的是kali-Linux,这个命令竟然不管用,只显示su鉴定故障,经过多方查询,终于找到了解决办法:输入命令sudo passwd root (修改进入root的命令)su root (输入密码)即可进入root,后续也只需 su - root 即可。
2024-01-29 12:07:09 2038
原创 Linux浅学笔记02
流程:简单来说,命令模式就是初始模式,(按i)进入到输入模式,就可以开始编辑文本,然后再次进入命令模式(esc),对编辑好的文本进行复制,删除,再编辑等操作,最后进入底线命令模式(:)保存退出(wq)等等。//vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能。如果不加任何可选选项,那么wc的结果将以行数,单词数,字符数列出(上面为wc与管道符的结合)。进入vim编辑器,默认为命令模式(它是核心中转,输入模式和底线命令模式要以命令模式为中转)
2024-01-24 18:40:11 459
原创 Linux浅学笔记01
/操作系统的使用方式有两种:图形化和命令行(不管是Windows,macOS,Linux都一样),在Windows中人们喜欢用图形化,很少用命令行(也就是cmd命令提示符),在Linux操作系统中,因为图形化做的不是特别好,而且使用命令行形式效率高,稳定,所以在Linux操作系统中,人们更青睐命令行。//如果是文件之间的复制,将路径1中的内容复制到路径2中,那么路径2原先的内容就将被覆盖,不复存在。Linux的目录结构:Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面。
2024-01-19 22:41:22 912
原创 《小迪安全》学习笔记01
本地hosts:在ping一个URL的时候,(或者在打开某个网址URL的时候或是点击某个链接的时候),首先查询本地DNS缓存,存在则返回IP,否则查询本地DNS服务器(一般由网络运营商管理,也可以自己手动设置),检查->有则返回,否则向互联网DNS服务器发送请求。应用实例:在下载一些比如说Steam游戏的时候,使用加速器它会修改本地的hosts文件,来实现快速下载(本该访问到国外某URL来下载一些文件,经过加速器就可以将域名对应的IP修改到国内一些缓存上,大大提高了下载速度)留后门是为了下次更方便的进来。
2024-01-13 20:57:47 1022
原创 BUUCTF--web篇01
,然后是请求参数的名称和请求参数的值,中间用(=)表示成对的关系,若有多个请求参数,则以&字符连接。该查询语句值为:0,因为在sql语言中and两边都是true,结果才为true,or两边只要有一个是true,结果就是true,而且and的优先级高于or,两者碰到一起,先算and。启动靶机,出现一只猫,一般来说,像这种没有任何按钮然后也没有直接的代码提示的,我们需要看它的:1.URL ,2.网页源代码,function cs( ){ },可以看到题目的函数名称为checkFile,参数为$page。
2023-09-21 20:57:52 148
原创 PHP语言学习01
web服务器环境就是指apache或者是nginx,新手推荐使用phpstudy集成环境直接去搭建环境。即可完成常量的定义,常量一经定义就无法改变了。:有很多函数,比如全部大写/小写,首字母转换为大小写……自定义常量只能是boolean,int,float,string这四种。Tips:VSC炫酷插件,请认准power mode,帅的一批。:四种整形数据,二,八,十,十六进制(注意是0而不是o)也就是在一个变量内部又出现了一个新的变量,如:$$a.in_array函数:验证某一个数是否在某一个数组中,
2023-09-16 20:18:18 104
原创 Java语言学习06
/Java中,所有的类都默认直接或者间接继承object类,也就是说,就算你创建的这个类里没有任何方法,你也可以用object的全部方法。//方法重写的前提:需要有继承关系,必须是子类重写父类的方法,两者方法名必须相同(不能是父类重写子类,也不能是重写属性,必须是方法)//关键字:extends ,子类是父类的扩展,子类可以用父类中的所有方法和属性。//接口就是规范,自己无法写方法,定义的是一组规则,是契约,所有的都有遵守它。//接口需要有实现类,接口里写抽象的方法,实现类写具体的方法。
2023-09-06 20:43:40 98
原创 Java语言学习04
/Java是很严格的,一个浮点数,如果你不在后面加F,那么就会默认你这个小数为double型,也就不能进行float数据类型的一些操作了。//利用递归可以用简单的程序来解决一些复杂的问题,大大减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合。如果要实现不定项的数字相加,那么要写很多的重载,过于麻烦,于是有了可变参数,几个相加都可以,如。它可以实现用add来进行两个int相加,三个int相加,两个float相加等等,更加的好用。动态初始化: int[] a = new int[10];
2023-08-26 22:07:58 89 1
原创 Java语言学习03
/if语句至多有一个else语句,在多个else if语句中,只要有按顺序的其中的一个 else if检测为true ,其他的else都将跳过执行。//一定要记得加“break”,否则会出现case穿透现象:匹配到的case和接下来的剩下的case和default都会和输出(和C语言一样)包括if的单,双,多选择(if--else if),嵌套选择,switch等等。//for循环语句:是支持迭代的一种通用结构,是最灵活,最有效的循环结构。//while先判断后执行,do-while先循环后执行。
2023-08-21 12:36:50 59
原创 Java语言学习02
/:实例变量:从属于对象,可以不初始化,就会变成默认值(0,0.0,null,false(boolean值))有点类似于c里面的结构体。Boolean:占1位值(bit),有“true”“false”两个 (布尔值)//: 关系运算符>,
2023-08-19 22:45:26 66
原创 Java语言学习01
(例如4399小游戏,不用下载,只需要打开浏览器就可以玩,由于所有的计算和存储任务都是放在服务器端的,所以客户端和服务器端会进行非常频繁的数据通信,加重了网络负荷。Java特性:简单,多线程,分布式,可移植(write once,run anywhere,是因为在Java里有一个JVM,也就是Java虚拟机),面向对象,安全(有一个异常机制),健壮。计算机硬件组成:CPU,主板(起连接作用),显示器,鼠标键盘,硬盘,内存,显卡(图形化界面)等等。(现在很多主板内置显卡,所以不用再额外买显卡)
2023-08-19 22:40:00 64
原创 Windows批处理编程(包含基础DOS命令)
Batch file programming是微软操作系统自带的原生的开发语言,不需要构建任何环境就可以执行的脚本。且Batch file批处理文件使用cmd.exe执行。关键字:startStart:可新建一个cmd窗口Start "bt" :可以新建一个title为bt的窗口Start+文件名 :就是打开文件,会新建一个窗口B :启动应用程序,但不会创建新窗口了其他的可以在 start /?或者/help处学习。
2023-06-24 20:49:19 4118 2
原创 pikachu靶场--越权/目录遍历/敏感信息泄露/PHP反序列化/XXE/URL重定向/SSRF 【8.1】~【14.2】
如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。越权漏洞形成的原因是后台使用了不合理的权限校验规则导致的。一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。因此,在在权限管理中应该遵守:1.使用最小权限原则对用户进行赋权;2.使用合理(严格)的权限校验规则;
2023-06-14 11:01:18 495
原创 pikachu靶场--不安全的文件下载/上传漏洞【7.1】~【8.3】
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。
2023-06-14 10:46:19 553
原创 pikachu靶场--RCE/File Inclusion--【5.1】~【6.2】
RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。比如 在PHP中,提供了:这些文件包含函数,这些函数在代码设计中被经常使用到。大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。
2023-06-12 16:30:06 120
原创 HTML语言学习笔记
如下图所示即为自定义列表应用场景(大哥带一群小弟做事,小弟围绕大哥做解释说明)自定义列表的语法规范:需要注意的是:和是并列关系而不是包含关系。//里面只能放对应的下一级嵌套标签//,但是在中却可以自由的使用其他的标签或者是文字。
2023-06-11 22:07:02 145
原创 pikachu靶场--SQL inject--insert/update/delete/HTTP header注入/盲注【4.5】~【4.9】
substr(database(),1,1)意思是把database()的结果取值,取从第1个字符开始的第1个字符,再包裹一层ascii(),意思是将取出的字符转换成ASCII码输出,这里我们的数据库名称为apache,所以结果依次为:a ,97。因此,我们可以构造闭合xxx' or updatexml(1,concat(0x7e,database()),0) or' ,这样,返回的报错内容里就有我们所需要的信息。但还有一个条件,就是“时间”,通过特定的输入,判断后台执行的是时间,从而确定注入。
2023-06-11 20:39:23 923
原创 pikachu靶场--SQL inject--必备补充知识
这就意味着,我们在将来渗透的时候,可以采用(正常查询)union(恶意查询)的方式来获取我们想要的信息。以字符型输入为例,首先确定它有没有报错,然后用 kobe’ and updatexml(1,version(),0)#测试,函数的首尾两个值错误,所以会直接执行中间的表达式(版本信息),然后以报错的形式返回到前端。同样是在字符型中做对应的测试,构造闭合 kobe' extractvalue(0,concat(0x7e,database()))#即可,在这里呢,效果和updatexml()函数是一样的。
2023-06-11 20:15:07 140
原创 pikachu靶场--SQL inject--数字型(post)/字符型(get)/搜索型/xx型注入【4.1】~【4.4】
当我们输入字符的时候,正常情况下,后台会给输入的字符+单引号,把他作为一个整个的字符串来处理,所以我们如果输入的是kobe or 1 = 1,传到后台的时候,or 1 = 1就不会起作用了,因此我们要构造闭合,输入kobe’ or 1 = 1#(#用--替换也可以,都是有着注释的意思,把后面的单引号注释掉),可以看到,它也能实现遍历。首先,打开我们的mysql数据库,use pikachu,然后对表“member”做查询,可以看到当参数为“1”和“1 or 1=1”时,所查询到的结果时大不相同的。
2023-06-10 17:38:01 845
原创 pikachu靶场--CSRF--get/post/token【3.1】~【3.3】
当然,如果小黑事先在xxx网的首页如果发现了一个XSS漏洞,则小黑可能会这样做: 欺骗小白访问埋伏了XSS脚本(盗取cookie的脚本)的页面,小白中招,小黑拿到小白的cookie,然后小黑顺利登录到小白的后台,小黑自己修改小白的相关信息。---所以跟上面比一下,就可以看出CSRF与XSS的区别:CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。所以小黑想要修改大白的信息,他需要拥有:1,登录权限 2,修改个人信息的请求。
2023-06-08 19:58:50 312
原创 pikachu靶场--XSS--盲打/过滤/htmlspecialchars/href输出/js输出【2.6】~【2.10】
alert('xss')
2023-06-08 18:25:20 272
原创 pikachu靶场--XSS--反射性/存储型/DOM型XSS【2.1】~【2.5】
输入内容#'onclick="alert(111)">,构造闭合,在div里面通过我们的DOM的方法去获取到这个输入,然后再输出到div里面,但是它输入后既不会在URL里面,也不会被后台存储,因此在该场景下比较鸡肋。另一种场景就是,第一次输入后,会把输入的内容显示在URL中,然后后台把从URL中获取信息,将其赋值给a标签,点一下a标签,就会把其中的内容写到div里面,点击div对应的字段,即可执行脚本。同样也是先输入一些单引号双引号尖括号等特殊字符,submit之后,被原样输出,说明存在XSS漏洞,如。
2023-05-31 17:44:30 584
原创 pikachu靶场--暴力破解--验证码绕过以及token防爆破知识点【1.2】~【1.4】
如果我们想要爆破的话,在每次请求前要把上一次请求的响应包获取到,把其中的token值取出来,token采用递归payload,把上次请求的token值作为本次请求的token值,然后再进行发送,进入options选项,从响应中提取选项,fetch response,在响应包中选中token值,然后提交token,即可运行。暴力破解--验证码绕过 on client:正确的应该是,后端生成验证码,传到前端时是图片的形式,(而不是以字符串的形式)用户在前端输入验证码,与后端的验证码值做对比。
2023-05-31 07:23:00 728
原创 pikachu靶场--暴力破解--基于表单的暴力破解【1.1】
将pikachu靶场做为被攻击的对象,模拟某些平台登陆界面(如下),借用burp suite和字典(一些账号,密码的集合,一般为.txt文本形式)对账号和密码进行爆破(相当于是一个一个的是试,没有效率可言,只有运气可言),共有四种爆破方式(攻击方式):sniper(狙击手),battering ram(攻城锤),pitchfork(草叉),cluster bomb(集束炸弹)。爆破完成后,点击可查看具体请求(Request),其中,第0行为我们输入的初始值(tt qwe),从第1行开始,就有字典的参与了。
2023-05-24 19:00:24 212
原创 SQL--day4
利用分页查询可以实现“查找前几个(比如是8)数据信息”的功能,方法就是查询一页,且这一页的记录数是“8”。DQL语言:数据查询语言 data query language。也可以 select count (*)from biaob;查询全部用通配符“*”,即select *from [表名]最后就是,DQL语言的执行顺序如下(并非语句顺序)DQL分组查询(分组查询一般与聚合函数一起用)其中的模糊匹配:一个“_”代表一个字符。
2023-05-21 18:49:56 62
sql-lab靶场 sql注入
2024-09-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人