分类 默认分类 下的文章
只是一个默认分类
默认分类 2021-07-06
  • 507
  • 0
  • 环境搭建下载地址:https:downloads.joomla.orgitcmsjoomla33-4-6php版本:5.5.38(复现环境要求php版本低于5.6.40,不支持php7)漏洞分析session逃逸session 在 Joomla 中的处理有一些的问题,它会把没有通过验证的用户名和密码存储在 _session 表中存入和从数据库中取出用了位于 librariesjoomlasessionstoragedatabase.php的write()和read()函数public function write($id, $data) { Get the database connection object and verify its connected. $db = JFactory::getDbo(); $data = s
    默认分类 2021-07-06
  • 539
  • 0
  • 5.8.x漏洞复现环境配置写一个DemoController控制器//DemoController.php<?php namespace App\Http\Controllers; class DemoController extends Controller { public function demo() { if(isset($_GET['c'])){ $code = $_GET['c']; unserialize($code); } else{ highlight_file(__FILE__); } return "Welcome to laravel5.8"; } }然后在rou
    默认分类 2021-07-06
  • 554
  • 0
  • URLDNSURLDNS是ysoserial中的一条反序列化利用链,但最终效果不是命令执行而是一次DNS请求,但因为它有如下优点,所以通常用于检测目标是否存在反序列化漏洞使用Java原生类在目标没有回显的时候,能够通过DNS请求得知是否存在反序列列化漏洞不限jdk版本进入https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/URLDNS.java即可看到ysoserial中URLDNS的exppackage ysoserial.payloads; import java.io.IOException; import java.net.InetAddress; import java.net.URLConnection; import java.net.URLStreamHandl
    默认分类 2021-07-05
  • 594
  • 0
  • JWT简介JWT的全称是Json Web Token。它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份。基于token的身份验证可以替代传统的cookie+session身份验证方法。JWT组成jwt由三个部分组成:header.payload.signatureheader第一部分头部解码后表示一个简单的JSON对象,一般来说这个对象描述了JWT所使用的签名算法和类型,最常用的两个字段是alg和typ,alg指定了token加密使用的算法(最常用的为HMAC和RSA算法),typ声明类型为JWTheader通常会长这个样子:{ "alg" : "HS256", "typ" : "jw
    默认分类 2021-07-04
  • 576
  • 0
  • ARP协议地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。ARP欺骗的局限性只能攻击同一局域网下的主机需要用到的工具kali linux下的arpsproof和driftnet以及wiresharkARP欺骗原理ARP欺骗有两种攻击利用方式1.ARP欺骗断网攻击攻击者欺骗受害主机,发送数据告诉受害主机说我是网关,然后受害主机会将攻击主机当作网关进行数据传输,这样就会导致受害主机无法正常上网。2.ARP中间人攻击攻击主机欺骗受害主机,发送数据告诉受害主机说我是网关,然后受害主机会将攻击主机当作网关进行数据传输。同时发送数据告诉网关说我是受害主机,网关会将攻击主机当作受害主机进行数据传输,这样受害主机和网关之间的数据交互都会经过攻击主机,受害主机不会断网不会察觉,所以可以查看到各种通信数据。测试环境攻击主机系统
    默认分类 2021-07-03
  • 570
  • 0
  • Pass-01(客户端JS绕过)客户端JS判断方法:上传一个php文件,用bp抓包,如果没抓到包就弹框说不能上传,就说明是客户端JS检测客户端JS绕过方法:方法一:上传一个图片马格式为jpg,然后bp抓包,将格式改为php方法二:攻击JS代码:查看网页元素找到那一段JS代码删除掉Pass-02(MIME类型验证)MIME类型验证实质就是检测Content-Type头,先bp抓包方法一:上传一个jpg格式图片马,将后缀在burp中改为php,因为上传的是jpg格式文件,所以Content-Type内容是image/jpeg,能通过MIME验证,而我们将后缀改为了php,所以成功上传了php文件方法二:直接上传php格式图片马,burp抓包发现Content-Tpye内容为application/octet-stream,将其改为image/jepg,这样burp中的内容就和方法一一样,能够成
    默认分类 2021-07-03
  • 611
  • 0
  • Stage #1(没有过滤的XSS)随便在文本框输入一点内容,发现它会直接将输入的文本输出到网页上显示,查看网页元素,发现是b标签两种思路:1.闭合b标签,如图2.它会直接将输入的字符串输出在网页上显示,可以考虑直接输入JS代码,如图Stage #2(属性标签中的XSS)还是随便输点东西上去,查看网页元素,发现文本在属性标签value里面两种思路1.闭合input标签2.闭合value标签,利用on事件触发XSSjavascript on事件大全参考链接https://www.w3school.com.cn/jsref/jsref_events.asp这里采用onmouseover事件,意思就是当鼠标指针移动到那上面的时候执行事件Stage #3(选择列表中的XSS)发现是一个b标签闭合的情况,采用Stage #1的两种方法都不行,所以可以输入的文本框不存在XSS,考虑旁边那个选择国家的列
    默认分类 2021-07-03
  • 521
  • 0
  • 文件包含简介服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间文件包含函数require() require_once() include() include_once()include和require区别主要是,include在包含的过程中如果出现错误,会抛出一个警告,程序继续正常运行;而require函数出现错误的时候,会直接报错并退出程序的执行,而include_once(),require_once()这两个函数,与前两个的不同之处在于这两个函数只包含一次,适用于在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包括一次以避免函数重定义,变量重新赋值等问题漏洞产生原因文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码示例代码<
    默认分类 2021-07-03
  • 1378
  • 0
  • 常见管道符Windows系统支持的管道符|直接执行后面的语句||如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句&前面和后面命令都要执行,无论前面真假&&如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令Linux系统支持的管道符|、||、&、&&这四种管道符都存在且用法和Windows系统下一样,多了一个;管道符,作用和&一样空格过滤${IFS}payload1:root@kali:~# cat flag this is your flag root@kali:~# cat${IFS}flag this is your flagpayload2:root@kali:~# cat${IFS}$1flag this is your flagpayload3:root@kali:~# cat$IFS$1flag this is your f
    默认分类 2021-07-02
  • 591
  • 0
  • 文章首发先知社区:https://xz.aliyun.com/t/6386最近接触到利用badsub进行攻击的方法,于是自己研究了一波,先给出一个badusb木马远控案例。badusb简介badusb是一种类似于U盘,插入后就会自动执行里面的恶意代码进行恶意操作,由于恶意代码是存在badusb存放固件的区域中,所以杀毒软件和U盘格式化都不能防御badusb的攻击badusb基本语法和arduino按键代码入门badusb参考视频教程:https://www.bilibili.com/video/av20517610?from=search&seid=10154231350179524417delay(5000);//延时毫秒 Keyboard.begin(); //开始键盘通讯 Keyboard.end(); //结束键盘通讯 Keyboard.press(); //按下键盘按键 如果是