摘要: 1. 领域驱动安全 领域驱动安全是一种代码设计方法。其思想是将一个隐式的概念转化为显示,个人认为即是面向对象的方法,将一个概念抽象成一个类,在该类中通过方法对类的属性进行约束。是否是字符串,包含什么字母等。对原始的字符串进行封装。 好处是只需要对类做单元测试,并且保证在代码中需要用到该隐式概念时都创建这个类来进行处理。最重要的是将输入数据固定位数据。就使用参数化语句进行预处理。参数化语句是将sql... 阅读全文
posted @ 2016-10-04 15:45 Ysera_Dreamer 阅读(1396) 评论(0) 推荐(0) 编辑
摘要: 1. 避开输入过滤 输入过滤存在于外部和内部,外部属于web应用防火墙WAF,入侵防御系统IPS,入侵检测系统IDS,内部属于代码中对输入进行过滤 过滤select,insert等sql关键字和' |,等字符 (1)大小写变种:将关键字变为SeLeCt * FrOm UserINFO 由于过滤是针对全大写或者全小写,很少会对大小写做排列组合进行过滤。若单个过滤则会影响用户正常输入。 (2)使用... 阅读全文
posted @ 2016-10-04 15:44 Ysera_Dreamer 阅读(650) 评论(0) 推荐(0) 编辑
摘要: sql注入中的盲注的几种类型 1.基于时间延时注入 基于时间的手工盲注一般都是通过二分法或逐位法确定范围获取目标值。大大缩小了请求数。 通过控制,获取响应时间来判断目标值的正确性。使用大量情况,在纯盲情况下成功率较高,缺点就是时间太长。 1.1针对mysql 对mysql进行盲注的时候尽量使用#作为注释符号,使用--会引起很多缺少'错误使得数据库无法正常执行攻击语句 利用IF语句判断可能的值,如果... 阅读全文
posted @ 2016-10-04 15:43 Ysera_Dreamer 阅读(3232) 评论(0) 推荐(0) 编辑
摘要: INSERT查询中实现注入攻击 1. 思路就是在含有insert语句的页面插入目标值信息。经常包含的是一个子查询。 2. 注意在insert过程中,左边的注入点和右边的注入点会有不同 3. 在mysql中数字的优先级会高于字符的优先级,在1+'s'结果只显示1 4. 利用此性质,配合ASCII函数可以获得大部分目标的值。 生成INSERT错误 1. 在insert语句的值中填写表不允许的数据,正好... 阅读全文
posted @ 2016-10-04 15:42 Ysera_Dreamer 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 1.1注入语句(通过时间注入函数) 数据库名称 localhost:8080/ScriptTest/userServlet?username='union SELECT IF(SUBSTRING(current,1,1)=CHAR(101),BENCHMARK(10000000,ENCODE('sasssG','zcxczx')),null),count(*) FROM (SELECT Data... 阅读全文
posted @ 2016-10-04 15:41 Ysera_Dreamer 阅读(1412) 评论(0) 推荐(0) 编辑
摘要: 1. 基础准备知识 (1) php: 部分由服务器解析后并连带html代码一并返回给浏览器,类似jsp的操作,一般开发中都使用smarty模板将前端后端分开。所以在XSS跨站中,可以使用get参数传值的方式进行XSS攻击 (2) EL表达式:对于EL表达式${name},EL表达式首先从page,session,request, application。范围内检索信息,直到检索到name的信息后... 阅读全文
posted @ 2016-10-04 15:35 Ysera_Dreamer 阅读(290) 评论(0) 推荐(0) 编辑