LinEnum

No.101-HackTheBox-Linux-Sneaky-Walkthrough渗透学习

邮差的信 提交于 2020-08-13 18:31:58
** HackTheBox-Linux-Sneaky-Walkthrough ** 靶机地址:https://www.hackthebox.eu/home/machines/profile/19 靶机难度:中级(5.0/10) 靶机发布日期:2017年10月29日 靶机描述: Sneaky, while not requiring many steps to complete, can be difficult for some users. It explores enumeration through SNMP and has a beginner level buffer overflow vulnerability which can be leveraged for privilege escalation. 作者: 大余 时间:2020-05-16 请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。 一、信息收集 可以看到靶机的IP是10.10.10.20… Nmap扫描仅发现开放了Apache和SNMP两个服务… 80端口上没什么可用的信息…直接枚举爆破看看… 枚举发现了dev目录… dev目录提供了此页面

Java实现大批量数据导入导出(100W以上) -(一)导入

怎甘沉沦 提交于 2020-08-13 14:39:06
最近业务方有一个需求,需要一次导入超过100万数据到系统数据库。可能大家首先会想,这么大的数据,干嘛通过程序去实现导入,为什么不直接通过SQL导入到数据库。 大数据量报表导出请参考: Java实现大批量数据导入导出(100W以上) -(二)导出 一、为什么一定要在代码实现 说说为什么不能通过SQL直接导入到数据库,而是通过程序实现: 1. 首先,这个导入功能开始提供页面导入,只是开始业务方保证的一次只有<3W的数据导入; 2. 其次,业务方导入的内容需要做校验,比如门店号,商品号等是否系统存在,需要程序校验; 3. 最后,业务方导入的都是编码,数据库中还要存入对应名称,方便后期查询,SQL导入也是无法实现的。 基于以上上三点,就无法直接通过SQL语句导入数据库。那就只能老老实实的想办法通过程序实现。 二、程序实现有以下技术难点 1. 一次读取这么大的数据量,肯定会导致服务器内存溢出; 2. 调用接口保存一次传输数据量太大,网络传输压力会很大; 3. 最终通过SQL一次批量插入,对数据库压力也比较大,如果业务同时操作这个表数据,很容易造成死锁。 三、解决思路 根据列举的技术难点我的解决思路是: 1. 既然一次读取整个导入文件,那就先将文件流上传到服务器磁盘,然后分批从磁盘读取(支持多线程读取),这样就防止内存溢出; 2. 调用插入数据库接口也是根据分批读取的内容进行调用; 3.

more命令 分屏查看文件

心已入冬 提交于 2020-08-06 19:30:05
Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。 语法 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 参数 : -num 一次显示的行数 -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声 -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容 -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料 -s 当遇到有连续两行以上的空白行,就代换为一行的空白行 -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同) +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示 +num 从第 num 行开始显示

php计算经纬度是否在区域内

瘦欲@ 提交于 2020-07-28 15:56:45
<?php namespace lib; /** * Description of Area * * @author lsf */ class Area{ // 一个表示区域的三维数组 protected $config = null; // 包含每个区域的四边形 protected $rectangles = null; // 每个区域(多边形)的所有边 protected $lines = null; // 要判断的点的x, y坐标 protected $_x = null; protected $_y = null; public function __construct($config){ $this->config = $config; $this->initRectangles(); $this->initLines(); } /* 获取包含每个配送区域的四边形 */ private function initRectangles(){ foreach ($this->config as $k => $v) { $this->rectangles[$k]['minX'] = $this->getMinXInEachConfig($k); $this->rectangles[$k]['minY'] = $this->getMinYInEachConfig($k);

Java实现大批量数据导入导出(100W以上) -(一)导入

别说谁变了你拦得住时间么 提交于 2020-07-27 09:52:18
最近业务方有一个需求,需要一次导入超过100万数据到系统数据库。可能大家首先会想,这么大的数据,干嘛通过程序去实现导入,为什么不直接通过SQL导入到数据库。 大数据量报表导出请参考: Java实现大批量数据导入导出(100W以上) -(二)导出 一、为什么一定要在代码实现 说说为什么不能通过SQL直接导入到数据库,而是通过程序实现: 1. 首先,这个导入功能开始提供页面导入,只是开始业务方保证的一次只有<3W的数据导入; 2. 其次,业务方导入的内容需要做校验,比如门店号,商品号等是否系统存在,需要程序校验; 3. 最后,业务方导入的都是编码,数据库中还要存入对应名称,方便后期查询,SQL导入也是无法实现的。 基于以上上三点,就无法直接通过SQL语句导入数据库。那就只能老老实实的想办法通过程序实现。 二、程序实现有以下技术难点 1. 一次读取这么大的数据量,肯定会导致服务器内存溢出; 2. 调用接口保存一次传输数据量太大,网络传输压力会很大; 3. 最终通过SQL一次批量插入,对数据库压力也比较大,如果业务同时操作这个表数据,很容易造成死锁。 三、解决思路 根据列举的技术难点我的解决思路是: 1. 既然一次读取整个导入文件,那就先将文件流上传到服务器磁盘,然后分批从磁盘读取(支持多线程读取),这样就防止内存溢出; 2. 调用插入数据库接口也是根据分批读取的内容进行调用; 3.

现代软件工程个人作业——词频统计(字符数、行数、单词数、高频单词和词组)

微笑、不失礼 提交于 2020-05-08 19:54:43
现代软件工程课的第一次个人作业博主做的相当差劲,让我清楚地意识到自己与他人的差距。 通过这篇博客博主将展示自己是如何走上事倍功半的歧路,认真分析错误原因,希望大家不要重蹈我的覆辙。 首先让我们来看一下 作业要求 : 详细要求在邓宏平老师的博客: 第一次个人作业——词频统计 这次词频统计的主要功能有: 1. 统计文件的字符数(只需要统计Ascii码,汉字不用考虑,换行符不用考虑,'\0'不用考虑)( ascii码大小在[32,126]之间 ) 2. 统计文件的单词总数 3. 统计文件的总行数(任何字符构成的行,都需要统计)(不要只看换行符的数量,要小心最后一行没有换行符的情形)(空行算一行) 4. 统计文件中各单词的出现次数, 对给定文件夹及其递归子文件夹下的所有文件进行统计 6. 统计两个单词(词组)在一起的频率,输出频率最高的前10个。 注意: a) 空格,水平制表符,换行符,均算字符 b) 单词的定义: 至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。 英文字母:A-Z,a-z 字母数字符号:A-Z,a-z,0-9 分割符:空格,非字母数字符号 例如: ”file123”是一个单词,”123file”不是一个单词。file,File和FILE是同一个单词 。 如果两个单词只有最后的数字结尾不同,则认为是同一个单词,例如,windows

小程序,Canvas,文本换行

匆匆过客 提交于 2020-05-08 15:29:54
texts: [ { x: 50, y: 660, baseLine: 'middle', text: '', //标题 width: 500, lineNum:2, fontWeight:'bold', fontSize: 32, color: '#333333' } ] texts字段 字段名 类型 必填 描述 x Number(单位:rpx) 是 坐标 y Number(单位:rpx) 是 坐标 text String|Object 是 当Object类型时,参数为text字段的参数,marginLeft、marginRight这两个字段可用(示例请看下文) fontSize Number(单位:rpx) 是 文字大小 color String 否 颜色 opacity Int 否 1为不透明,0为透明 lineHeight Number(单位:rpx) 否 行高 lineNum Int 否 根据宽度换行,最多的行数 width Number(单位:rpx) 否 没有指定为画布宽度 marginLeft Number(单位:rpx) 否 当text字段为Object可以使用,用来控制多行文字间距 marginRight Number(单位:rpx) 否 当text字段为Object可以使用,用来控制多行文字间距 textDecoration String 否 目前只支持

java -PDF添加文本水印与图片水印

六眼飞鱼酱① 提交于 2020-04-28 07:42:08
java pdf添加水印文本及图片文本 PDF文件添加文本水印 : private static int interval = 30 ; public static void waterMark(String inputFile,String outputFile, String waterMarkName) { try { PdfReader reader = new PdfReader(inputFile); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputFile)); // 这里的字体设置比较关键,这个设置支持中文的写法 BaseFont base = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.EMBEDDED); // 使用系统字体 Rectangle pageRect = null ; PdfGState gs = new PdfGState(); // 设置透明度 gs.setFillOpacity(0.3f ); gs.setStrokeOpacity( 0.3f ); int total = reader.getNumberOfPages() + 1 ; JLabel label = new

gdb 设置位置

隐身守侯 提交于 2020-04-13 18:19:47
【今日推荐】:为什么一到面试就懵逼!>>> 三种:行定位;反汇编后的地址; 行相关定位 行相关定位格式: [filename:][linenum|function] filename 文件名 如果有则是指明某个文件,可以是相对路径,也可以是绝对路径。如果匹配了多个匹配的文件,那么则会在多个文件设置多个断点。 linenum 或 function linenum 则就是在对应行设置断点 function 则是搜索当前文件的函数 label 则是搜索当前文件的 label:C++用于goto定位的 如果没有 filename : funcname 表示所有文件所有匹配的函数,包括重载,命名空间和类成员的函数 label 从当前栈帧进行搜索,如果程序没有执行不执行搜索 反汇编后的地址 break *address disassemble [/s /m /r] start,end disassemble start,end disassemble /m function disassemble /r function disassemble /s function 新版本支持 不支持文件名,搜索的是当前的断点所在栈帧。 int foo(int x) { switch(x) { case 1: return 2; case 2: return 3; default: return 42; }