转义

PHP引号转义中解决POST,GET,Mysql数据自动转义问题

天涯浪子 提交于 2019-11-30 18:47:28
在处理mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。 PHP称之为魔术引号,这三项设置分别是 magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。 这个开启时,通过GET,POST,COOKIE传递的数据会自动被转义。 如 test.php?id=abc'de"f echo $_GET['id']; # 会得到 abc\'de\"f magic_quotes_gpc=On; 这个开启了,对写入数据库是没有影响的,比如 上面的$_GET['id'] 写到数据库里面,依然是 abc'de"f , 相反,如果magic_quotes_gpc=Off; 那么字符中要带有引号(不管单引号还是双引号) ,直接写入mysql都会直接变成空白 但是,如果你将它写入文档,而非mysql。那么它将是 abc\'de\"f magic_quotes_runtime 如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。 magic_quotes_sybase 如果打开的话

python初体验-转义字符

旧巷老猫 提交于 2019-11-30 18:33:41
除了\n之外,转义字符还有很多,它们的特征就是:反斜杠+想要实现的转义功能首字母。 比如换行\n代表【+newline】;退格\b代表【+backspace】;回车\r代表【+return】。大家可以按照这种方法记住转义字符的含义。 来源: https://www.cnblogs.com/free-1124/p/11634974.html

XSS 攻击的预防

…衆ロ難τιáo~ 提交于 2019-11-30 15:11:07
XSS 攻击的预防 XSS 攻击有两大要素: 1.攻击者提交恶意代码。 2.浏览器执行恶意代码。 针对第一个要素:我们是否能够在用户输入的过程,过滤掉用户输入的恶意代码呢? 输入过滤 在用户提交时,由前端过滤输入,然后提交到后端。这样做是否可行呢? 答案是不可行。一旦攻击者绕过前端过滤,直接构造请求,就可以提交恶意代码了。 那么,换一个过滤时机:后端在写入数据库前,对输入进行过滤,然后把“安全的”内容,返回给前端。这样是否可行呢? 我们举一个例子,一个正常的用户输入了 5 < 7 这个内容,在写入数据库前,被转义,变成了 5 < 7 。 问题是:在提交阶段,我们并不确定内容要输出到哪里。 这里的“并不确定内容要输出到哪里”有两层含义: 1.用户的输入内容可能同时提供给前端和客户端,而一旦经过了 escapeHTML() ,客户端显示的内容就变成了乱码( 5 < 7 )。 2.在前端中,不同的位置所需的编码也不同。 当 5 < 7 作为 HTML 拼接页面时,可以正常显示:< div title = “comment” > 5 < 7 </ div >。 当 5 < 7 通过 Ajax 返回,然后赋值给 JavaScript 的变量时,前端得到的字符串就是转义后的字符。这个内容不能直接用于 Vue 等模板的展示,也不能直接用于内容长度计算。不能用于标题、alert 等。 所以

常见Web攻击

ⅰ亾dé卋堺 提交于 2019-11-30 11:52:17
XSS XSS(Cross-Site Scripting)跨站脚本攻击,因为缩写和CSS重叠,故叫XSS。跨站脚本攻击是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或者JavaScript进行的一种攻击。 存储型XSS 存储型 XSS 的攻击步骤: 攻击者将恶意代码提交到⽬标⽹站的数据库中。 ⽤户打开⽬标⽹站时,⽹站服务端将恶意代码从数据库取出,拼接在 HTML 中返回给浏览器。 ⽤户浏览器接收到响应后解析执⾏,混在其中的恶意代码也被执⾏。 恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬标⽹站接⼝执⾏攻击者指定的操作。 这种攻击常⻅于带有⽤户保存数据的⽹站功能,如论坛发帖、商品评论、⽤户私信等。 反射型XSS 反射型 XSS 的攻击步骤: 攻击者构造出特殊的 URL,其中包含恶意代码。 ⽤户打开带有恶意代码的 URL 时,⽹站服务端将恶意代码从 URL 中取出,拼接在 HTML 中返回给浏览器。 ⽤户浏览器接收到响应后解析执⾏,混在其中的恶意代码也被执⾏。 恶意代码窃取⽤户数据并发送到攻击者的⽹站,或者冒充⽤户的⾏为,调⽤⽬标⽹站接⼝执⾏攻击者指定的操作。 反射型 XSS 跟存储型 XSS 的区别是:存储型 XSS 的恶意代码存在数据库⾥,反射型 XSS 的恶意代码存在 URL ⾥。 反射型 XSS 漏洞常⻅于通过 URL

[转载]Oracle之单引号与双引号

允我心安 提交于 2019-11-30 10:25:32
一、单引号 1.引用一个字符串常量,也就是界定一个字符串的开始和结束 select * from t_sys_user where id='15'; --查询id为15的字符 select * from t_sys_score where id=15; --查询id为15的整形数字 注意,这个字符串常量是区分大小写的 2.转义符,对紧随其后出现的字符(单引号)进行转义 select ' '' ' result from dual; --第二个单引号被作为转义符,第三个单引号被转义.结果为 ' select 'name''''' result from dual; --结果为name'' select 'name'||'''' result from dual; --结果为name','||' 被转义为字符拼接 二、双引号 关键字、对象名、字段名、别名加双引号,则示意 Oracle将严格区分大小写,否则Oracle都默认大写。 --关键字 select "sysdate" from dual; -- 等同于select sysdate from dual; --字段名 select * from emp where "ENAME" = scott; --双引号提示oracle严格区分大小写,ename将报错 --别名 select ename "姓 名",sal "$工资" from

SQL注入联合文件上传控制目标主机

人走茶凉 提交于 2019-11-30 09:39:02
环境介绍 测试环境下载地址: https://pentesterlab.com/exercises/from_sqli_to_shell 2 复现过程 1.使用namp进行目标IP开放端口扫描 2.通过Nmap的主机端口发现,了解靶机对开放22、80端口,接下来我们对80端口进行访问,可以发现存在id=X的SQL注入风险点 3.通过SQL注入攻击,进行拖库 /cat.php?id=1 order by 5 /cat.php ?id=2 order by 4 通过执行POC,可知存在4列 /cat.php?id=-1 union select 1,database(),3,4 通过database()函数获取当前数据库为photoblog /cat.php?id=-1 union select 1,table_name,3,4 from information_schema.tableswhere table_schema="photoblog"通过已获取的库名结合information_schema .tables表,获取photoblog库下相应表名 /cat.php?id=-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name="users

Java13新特性

≯℡__Kan透↙ 提交于 2019-11-30 09:13:58
Java 13 的官方开发目标包含改进垃圾收集、应用程序的类数据共享和文本块 Java 开发工具包(JDK)13 ,标准 Java 的下一个版本,现在可作为候选版本使用,所有新功能都已锁定。JDK 13提出了一种功能,但从未添加到官方列表中,即用于打包自包含 Java 应用程序的 jpackage 工具,已经无缘晋级。JDK 13 不再考虑它。 [新的 Java 已经来了!了解 Jakarta EE 企业 Java 路线图。|新 Java 版本在这里!你需要学习任何关于 Java JDK 11 的新功能和 Java EE 8 的新功能。|使用 InfoWorld 的 App Dev Report 简报了解编程中的热门话题。] JDK 13 将于2019年9月17日到期。第二个候选版本将于8月22日到期。以下是 JDK 13 的官方特性: 在预览阶段添加文本块。文本块是一个多行字符串文本,它避免了对大多数转义序列的需要。文本块以可预测的方式自动格式化字符串,并让开发人员控制格式。该项目引用了向 Java 添加文本块背后的一些目标。一个目标是简化 Java 程序的编写,方法是简化跨几行源代码的字符串的表达,同时在常见情况下避免转义序列。第二个目标是增强程序中字符串的可读性,这些字符串表示用非 Java 语言编写的代码。第三个目标是支持从字符串字面量迁移

PHP三小时入门笔记(2014-9-3)

放肆的年华 提交于 2019-11-30 06:35:59
PHP三小时入门笔记( 2014-9-3 ) 1、 PHP 是什么:编程语言 2、 PHP 代码是运行在服务端的 3、行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的 4、甚至可以将 web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么 5、 PHP 还能被用来动态输出图像、 PDF 文件甚至 Flash 动画(使用 libswf 和 Ming ) 6、 PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies 。 7、 PHP 脚本主要用于以下三个领域: 7.1服务端脚本:开展这项工作需要具备以下三点: PHP 解析器( CGI 或者服务器模块)、 web 服务器和 web 浏览器 7.2命令行脚本:只需要 PHP 解析器来执行 7.3编写桌面应用程序:可以利用 PHP-GTK 来编写这些程序,还可以编写跨平台的应用程序 能干什么: WEB 开发,开发网站 apache,php,mysql的关系 apache:音译为阿帕奇 , 是世界使用排名第一的 Web 服务器软件 Apache HTTP Server(简称 Apache )是 Apache 软件基金会的一个开放源码的网页服务器 PHP(外文名