摘要:
#DAO 模式 DAO (DataAccessobjects) 数据存取对象是指位于业务逻辑和持久化数据之间,实现对持久化数据的访问的工作模式。 ##Java 和 python 进行通信 刚开始看到这个定义我一脸懵,所以我不会直接去解释 DAO 模式是个什么玩意,这里会通过一个网络互联的例子做类比。 阅读全文
摘要:
Less 23 的注入流程和 Less 1 ~ 4 一致,但是 Less 23 对注释符进行了过滤。我们得考虑用其他方式闭合引号,而不是忽略后续的代码。 GET-Error based-strip comments (基于错误的过滤注释符的 GET 型注入) #判断注入类型 注入正常的 id,网页回 阅读全文
摘要:
Less 20 ~ 22 都不能在登录界面进行注入,我们需要先发现注入点在 cookie 中。注入的过程和 Less 1 ~ 4 的 UNION 注入相同,不过 Less 21、22 意图利用编码的方式进行混淆和防御。 #Less 20 POST-Cookie injections-Uagent f 阅读全文
摘要:
Less 18、19 对输入的参数都进行了严格的过滤,我们将在其他 HTTP 头发现 Sql 注入点。为了更方便地测试,需要结合 burp 进行抓包,注入方式和 Less 17 一样采用报错注入。 #Less 18 POST-Header Injection-Uagent field-Error b 阅读全文
摘要:
Less 17 的难点在于关卡有 2 个 SQL 语句,其中一个进行了强效的过滤,我们得想办法发现第二个注入点。同时该关卡可以使用报错注入进行攻击。 #判断注入类型 我们先按照这个网页的功能走一遍,目测是更改密码的页面,输入用户名之后用新密码覆盖旧密码。 切换到 Less 11 验证一下,可以看到此 阅读全文
摘要:
#开启文件读写权限 MySql 使用 secure-file-priv 参数对文件读写进行限制,当参数值为 null 时无法进行文件导出操作。使用这条命令可以查看: show variables like '%secure%'; 通过修改 MySQL 下的 my.ini 配置文件就可以启用权限,需要 阅读全文
摘要:
Less 13 ~ 16 都是基于 bool 盲注或时间盲注的关卡,和之前的关卡区别在于此时用 POST 方法传递参数。 #Less 13 POST-Double Injection-Single quotes-String-twist(POST 单引号变形双注入) ##判断数据类型 用户名随便写点 阅读全文
摘要:
Less 11 和 12 网页都提供了一个登陆界面,注入的基本思想和步骤与 Less 1 ~ 4 相同,这里需要使用 POST 方法提交参数。 #Less 11 POST-Error Based-Single quotes-String(基于错误的POST型单引号字符型注入)。 ##判断注入类型 我 阅读全文
摘要:
Less 9 和 Less 10 都是时间盲注,主要思想是利用 IF 语句,结合 sleep() 函数制造时间差来判断注入的正确性。 #Less-9 GET-Blind-Time based-Single Quotes(基于时间的 GET 单引号盲注) ##判断注入类型 首先注入正确的参数,网页返回 阅读全文
摘要:
Less 5、6、7 都是基于 bool 注入的关卡,基本思想是利用函数提取出查询结果字符串的各个字符,利用回显信息依次判断原字符是什么。 #Less-5 GET-Double Injection-Single Quotes-String(双注入 GET 单引号字符型注入) ##判断注入类型 首先注 阅读全文