面试被问到:

1. MySql有哪些常用聚合函数:

count()、sum()、max()、min()、avg()、group_concat()

mysql还有常用的函数:

(1)数值函数:

Abs()=》(绝对值abs(-10.9) = 10)

Pi() //获得圆周率

Rand() //随机数

...

(2)时间日期函数:

Now()、Date()、Time()...

(3)字符串函数:

TRIM(string) //去除前后两端的空格

LENGTH(string) //string长度、字节

...

(4)流程函数

(5)其他常用函数:

md5()、Default()...

2. SQL注入攻击的解决办法:

我自己的理解是,sql注入是指通过一定的数据库语法手段结合所用代码特性生成特殊意义的sql语句并运行,称之为sql注入,

解决办法一般是:

(1)对数据库的输入进行过滤处理(即不要相信任何用户输入的数据);

(2)针对java,使用 PreparedStatement ,

参考链接:https://blog.csdn.net/czh500/article/details/88202971,https://www.cnblogs.com/zhidongjian/p/10413635.html

(3)针对php,可以更改php.ini的配置信息( addslashes, mysql_real_escape_string, mysql_escape_string),可以利用函数对get或者post的数据做单独处理过滤,普通的htmlspecialchars是不行的,它只针对 把预定义的字符 "" (大于)转换为 HTML 实体 ,并不能完全阻止sql注入攻击,PDO的prepare能解决大部分的攻击,但是也不能百分百的防止注入,当然这是我自己的理解

参考链接:https://www.cnblogs.com/liliuguang/p/10429163.html,https://www.v2ex.com/amp/t/362625

3.xss跨站脚本攻击:

常见的 XSS 攻击有三种:反射型XSS攻击、DOM-based 型XXS攻击以及存储型XSS攻击。

1.反射型XSS攻击反射型 XSS 一般是攻击者通过特定手法(如电子邮件),诱使用户去访问一个包含恶意代码的 URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。反射型XSS通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端 Cookies 或进行钓鱼欺骗。

2.存储型XSS攻击也叫持久型XSS,主要将XSS代码提交存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。当目标用户访问该页面获取数据时,XSS代码会从服务器解析之后加载出来,返回到浏览器做正常的HTML和JS解析执行,XSS攻击就发生了。存储型 XSS 一般出现在网站留言、评论、博客日志等交互处,恶意脚本存储到客户端或者服务端的数据库中。

3.DOM-based 型XSS攻击基于 DOM 的 XSS 攻击是指通过恶意脚本修改页面的 DOM 结构,是纯粹发生在客户端的攻击。DOM 型 XSS 攻击中,取出和执行恶意代码由浏览器端完成,属于前端 JavaScript 自身的安全漏洞。

防止方法:

1. 对输入内容的特定字符进行编码,例如表示 html标记的 < > 等符号。

2. 对重要的 cookie设置 httpOnly, 防止客户端通过document.cookie读取 cookie,此 HTTP头由服务端设置。

3. 将不可信的值输出 URL参数之前,进行 URLEncode操作,而对于从 URL参数中获取值一定要进行格式检测(比如你需要的时URL,就判读是否满足URL格式)。

4. 不要使用 Eval来解析并运行不确定的数据或代码,对于 JSON解析请使用 JSON.parse() 方法。

5. 后端接口也应该要做到关键字符过滤的问题。

6. 入参字符过滤,在源头控制,把输入的一些不合法的东西都过滤掉,从而保证安全性。如移除用户提交的的DOM属性如onerror,移除用户上传的Style节点,,

7. 出参进行编码,如果源头没控制好,就得后期补救了:像一些常见的符号,如<>在输出的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果。例如:对<>做编码如:"<"用:"<",">"用:">"来代替。

8.入参长度限制,通过以上的案例我们不难发现xss攻击要能达成往往需要较长的字符串,因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御。

本文参照部分博客总结,侵删

https://blog.csdn.net/czh500/article/details/88202971,

https://www.cnblogs.com/mao2080/p/9460397.html,

https://www.cnblogs.com/zhidongjian/p/10413635.html,

https://www.cnblogs.com/liliuguang/p/10429163.html,

https://www.v2ex.com/amp/t/362625

mysql注入内置函数_PHP面试之mysql内置函数,xss漏洞,sql注入相关推荐

  1. 从php角度分析预防xss和Sql注入

    引言 从php角度分析预防xss和Sql注入,是因为php对这方面做了很好的支持. XSS 概念: Xss即跨站脚本攻击,指攻击者在网页中嵌入恶意脚本程序(一般由html,css,js组成),当用户打 ...

  2. xss sql注入 php,利用xss 执行sql注入

    看见phpcms v9.1.15爆的xss和无权限的sql注入,于是就想测试下利用xss执行sql注入,虽然爆的这个phpcms漏洞还有很多其他的用法!但是,这个注入我没有找到phpcms v9.1. ...

  3. PHP 预防CSRF、XSS、SQL注入攻击

    1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数. (1).Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单 ...

  4. 实验三 XSS和SQL注入

    实验三 XSS和SQL注入 实验目的:了解什么是XSS:了解XSS攻击实施,理解防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计中避免出现SQ ...

  5. 网络渗透测试实验三——XSS和SQL注入

    网络渗透测试实验三--XSS和SQL注入 实验目的 了解什么是XSS:了解XSS攻击实施,理解防御XSS攻击的方法:了解SQL注入的基本原理:掌握PHP脚本访问MySQL数据库的基本方法:掌握程序设计 ...

  6. PHP防SQL注入代码,PHP 预防CSRF、XSS、SQL注入攻击

    1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数. (1).Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单 ...

  7. 【小迪安全】Day16web漏洞-SQL注入之盲注

    web漏洞-SQL注入之盲注 文章目录 web漏洞-SQL注入之盲注 前言 盲注类型 报错盲注 猜解数据库 猜解表 猜解字段 猜解内容 布尔盲注 猜解数据库 猜解表 猜解字段 猜解内容 延迟注入 前言 ...

  8. php 完美防sql注入,PHP 完美的防XSS 防SQL注入的代码

    PHP "完美"的防XSS 防SQL注入的代码 function gjj($str) { $farr = array( "/s+/", "/]*?)& ...

  9. 防御CSRF、XSS和SQL注入***

    过滤器 package cn.bizws.ismp.common.web; /**  * @author www.bizws.cn Tom  */ import java.io.File; impor ...

最新文章

  1. db2 linux 导入数据_「软件资料」-「软件使用」-Linux 导入、导出 MySQL 数据库命令...
  2. (转)HLSL,函数列表
  3. STL算法find,find_if,find_if_not,sort,fill,for_each,count,adjacent_find,random_shuffle,prev_permutation
  4. 使用 XMLBeans 进行编程 XMLBeans 如何引发数据绑定的巨大变革
  5. WPF实现聚光灯效果
  6. docker源码编译 linux_oracle linux 6 docker 安装(包括编译git源码)
  7. java中参数“ ...“的用法和意思
  8. C++编译期间字节序判断
  9. 懒人脚本查看本机IP地址
  10. 计算机英语教学设计反思,英语教学设计与反思
  11. 大数据技术之Hive 第6章 查询
  12. vue 中使用 vue-amap(高德地图) 【'AMapUI' is not defined 】
  13. 一个有点像舔狗的插件
  14. Flutter 通知栏通知
  15. C语言字母的组合,C语言求字母的全部组合
  16. 企业级大数据平台智能运维好帮手——星环科技多模数据平台监控软件Aquila Insight
  17. python抠图教程视频_Python快速抠图不比PS差!1分钟搞定!
  18. MySQL的主从配置+SpringBoot的MySQL读写分离配置
  19. wireshark抓包测试:海康摄像机
  20. ALC5621声卡调试记录

热门文章

  1. 天正lisp文件路径_AutoCAD的文件组织形式和搜索路径 | 坐倚北风
  2. qq批量登录软件_把微信PC版越甩越远!QQ电脑版这些新功能太良心
  3. python获取select选中的值_python – 使用flask从select标签获取值
  4. java 当前时间小时数,java获取当前时间前几个小时的时间
  5. java的interface_java中如何实现一个接口interface-百度经验
  6. bal插口_播放器上的这个“昂贵”的插口,是噱头还是真有用
  7. cmd命令不识别exp_cmd 命令行exp 命令导出数据库文件
  8. html文件变成巨大,在巨大的html文件中选择两个patern之间的文本?
  9. 2个表 遍历 组合_分享一个python脚本--数字随机组合有多少
  10. linux 查找只读文件夹,Linux系统中查找命令find的使用方法(二)