文章目录
1、SQL注入
攻击者可以提交一段精心构造的数据库查询代码,根据返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
原因:程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。
受影响的系统:对输入的参数不进行检查和过滤的系统。
sql数字型:
输入1
输入1 and 1=1
输入1 and 1=2
可以看出是数字型无疑,下来判断列数(order by)
输入1 order by 3,正常
输入1 order by 4,报错
说明是3列,下来判断显示位(联合查询)
输入-1 union select 1,2,3,发现显示位为2和3
查库://版本号为5.5.53,数据库为pentest
查表:这里具体查什么表看你自己如何选择
查列:
查数据:
中间没加分割符号所以就是写在一起的,你也可以加分隔符
比如:
数字型到此结束。
sql字符型:
输入1
明显的需要单引号闭合
//一开始我输入了1’ and ‘1’=’1,没有出结果,后来发现是要求写title而不是id
闭合单引号后出结果,下来判断列数:
输入DoraBox’ order by 3#,正常
输入DoraBox’ order by 4#,报错//说明是3列
判断显示位:
查库:
查表:
查数据:
字符型到此结束。
sql搜索型:
查看源码,发现需要闭合单引号和%号
输入DoraBox%’ and 1=1#
//%’是为了闭合前面的’%,#是注释掉后面的%’
判断列数:order by 3正确,4错误
判断显示位:
查库:
查表:
查列和数据跟上面一样,自己研究研究。
2、XSS跨站脚本攻击
跨站:从字面来分析,因为这个”跨”实际上是浏览器的特性,而不是缺陷,造成”跨”这样的假象是因为绝大多数XSS攻击都会采用嵌入一段远程或者第三域上的脚本资源。
脚本:跨站脚本重点已经不在”跨站”这个字上,而是”脚本”。脚本主要是有两个:JavaScript和ActionScript。
XSS原理ÿ