首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字符串包含重复字符的最长子串

今天我遇到一个问题,题目描述如下:         一个字符串,求这个字符串包含重复字符的最长子串的长度,如abba返回2,aaaaabc返回3,bbbbbbb返回1,等等上面是测试用例。...那么我解决这个问题的思路有两种: 第一种是,设一个头指针和一个尾指针,头指针指向,包含重复字符子串的第一个字符,尾指针指向包含重复子串的最后一个字符,用一个hashset保存已经出现过的字符,例如abba...,如果尾指针指向的字符,在集合中没有出现,那么将这个字符放入结合,然后尾指针向后移动,这是尾指针会移动到第二个b的位置,如果集合中已经包含了这个字符,那么用尾指针的索引减去头指针的索引,会求出一个子串的长度...maxLength(str)); } } 第二种思路比较巧妙,思路是这样的这次要以一个hashmap作为辅助,map的key存储的是字符,value存储的是该字符当前的位置,首先设置一个头指针,指向字符串开头...,那么从开始遍历字符串,如果map当中包含这个字符,那么用这个字符当前所在的位置减去头指针的位置,然后与最大长度做比较,选打的成为最大长度,然后把当前字符的以及位置放入map,以abba为例,头指针指向

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Pikachu漏洞平台通关记录

大多数情况下,文件包含函数包含的代码文件是固定的,因此也不会出现安全问题。...文件包含函数 include( ) 当使用该函数包含文件时,只有代码执行到 include()函数时才将文件包含 进来,发生错误时之给出一个警告,继续向下执行。...,函数会输出 错误信息,并终止脚本的运行。...1.打开界面是一个登陆页面,查看源码发现敏感信息 2.登陆之后发现abc.php 3.登录直接将findabc.php改为abc.php也可访问 PHP反序列化 在理解这个漏洞前,你需要先搞清楚php...该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。

2.4K11

SQL报错注入常用函数

,XPthstring,new_value) 第一个参数是字符串 第二个参数是指定字符串中的一个位置(Xpath格式的字符串) 第三个参数是将要替换成什么 Xpath定位必须是有效的,否则则会发生错误。...database()那里换就行) extractvalue()函数的作用是从目标xml中返回包含所查询值的字符串 extractvalue (XML_document, XPath_string); 第一个参数...:XML_document是String格式,为XML文档对象的名称,文中为doc 第二个参数:XPath_string(Xpath格式的字符串) Xpath定位必须是有效的,否则则会发生错误 用法其实跟...成功 exp函数 当传递一个大于709的值时,函数exp()就会引起一个溢出错误。...屏蔽能造成报错注入的各种函数函数 2. 对输入长度做限制,对用户输入做预处理 3. 对各种报错注入的返回结果,统一返回至包含任何错误提示信息的回显页面。

3.2K10

sql注入之报错注入「建议收藏」

报错注入 报错注入在没法用union联合查询时用,但前提还是不能过滤一些关键的函数。 报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。...这里主要记录一下xpath语法错误和concat+rand()+group_by()导致主键重复 xpath语法错误 利用xpath语法错误来进行报错注入主要利用extractvalue和updatexml...两个函数。...,Xpath_string); 第一个参数:xml_document是string格式,为xml文档对象的名称 第二个参数:Xpath_string是xpath格式的字符串 作用:从目标xml中返回包含所查询值的字符串...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

94830

SQL学习之SQL注入总结

再进行多次重复,看一下关于rand()函数与group by 在mysql中的错误报告,我们就是要利用group by part of rand() returns duplicate key error...--这个bug会爆出duplicate key这个错误,然后顺便就把数据也给了 公式:username=admin' and (select 1 from (select count(*), concat...首先了解几个函数 ? 数据库的路径and ascii(substr(@@datadir,1,1))>69 --然后使用二分法一步一步确定。...加入特定的时间函数,通过查看是web页面返回的时间差来判断注入的语句是否正确 sleep()函数 执行将程序(进程)挂起一段时间 if(expr1,ecpr2,expr3)判断语句 库名 and if...在每个字符前添加反斜杠:\ my_sql_real_escape_string() my_sql_real_escape_string()函数转义sql语句中使用的字符串中的特殊符:\x00  ,

1.7K40

SQL 报错注入详解

Group By 语句的后面,作为分组的依据;要么就要被包含在聚合函数中。...,所以第二次运算的结果可能与第一次运算的结果不一致,但是这个运算的结果可能在临时表中已经存在了,那么这时的插入必然导致主键的重复,进而引发错误。...库名: 表名: 列名: 数据: 3、extractvalue() 、updatexml() 从 mysql5.1.5 开始提供两个 XML 查询和修改的函数,extractvalue...xml 文档中按照 xpath 语法查询节点内容,updatexml 则负责修改查询到的内容: extractvalue (XML_document, XPath_string):从目标 XML中 返回包含所查询值的字符串...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.9K51

web安全学习笔记(不定时更新)

报错注入: updatexml函数接受三个参数,第一个参数是一个xml格式的字符串,第二个参数是符合xpath语法规范的字符串,第三个参数是要替换成的字符串。...该函数的功能就是从第一个xml字符串中通过xpath语法选择匹配的部分替换成第三个参数的内容。...并且当xpath语法出现错误的时候,将会回显数据,于是我们将我们的查询语句放到第二个参数中,作为错误回显的一部分外带到客户端浏览器。 ?...利用php反反序列化: ```php $b=new wllm(); /*new后面是类名称*/ echo serialize($b); __wakeup函数是在php在使用反序列化函数...2.直接修改html代码-F12 8.文件包含 利用pearcmd.php实现LFI到Getshell(详见0x06) payload: ?

1.8K50

sql-labs-less56|SQL注入

,所以不要着急,在这里讲一下我认为比较简单省事的,如有分析错误的地方欢迎指正!...正常显示说明语句正确,得到数据库的第一个字母,图中字母s可以从a开始试,使用burpsuite工具爆破,后面的字母可以根据字母数量一次增加取到left的值即可,这个方法比较麻烦,本人推荐使用,当然也可以写脚本爆破...,count() 函数是统计查询出来的结果,相同结果统计到一条,concat_ws函数是连接字符串的,*floor(rand()2) 是双查询语句,执行顺序从到外,先执行rand函数,rand函数是生成...0~1的随机数,floor() 函数是取小于等于数字的整数位,所以里面的rand随机数乘上2再由floor函数取整后结果就只能是0或1,group by是让查询结果分组,后面表,字段名只需要改一下concat...extractvalue()括号里面第一个参数可以是任何东西,只要不是正确的格式就行,这样造成函数格式错误然后以报错的形式让里面的sql语句显示出来,想了解更多方法可以参考前面的链接,接下来表名:

65410

报错注入学习

0x5c,password) from users),3 %23 遇到第五关报错注入 学习文章1 学习文章2 SQL 报错注入详解 学习笔记: 报错注入原理:报错注入就是利用了数据库的某些机制,人为地制造错误条件...,使得查询结果能够出现在错误信息中。...xpath语法的字符串,如果不满足要求,则会报错,并且将查询结果放在报错信息里,因此可以利用。...32,如果我们想要的结果超过32,就要用substring()函数截取或limit分页,一次查看最多32位 注:version()=@@version updatexml函数: updatexml(xml_document...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

45910

sql注入漏洞

extractvalue() extractvalue():从目标xml中返回包含所查询的字符串 EXTRACTVALUE(XML_document,XPath_string) 第一个参数:XML_document...对xml文件进行查询的函数,会从xml文件中返回所包含查询值的字符串,语法: extractvalue('xml_document','Xpath_string') extractvalue('目标文件名...此处的xml_document可以是anything 而如果页面回显sql报错信息就可以得到我们想要的信息了 拼接方法 使用concat函数拼接一个错误的Xpath让mysql报错得到包含查询值的字符串...id=1 and extractvalue(1,concat(0x7e,(select flag from flag limit 1,1))) –+ 然后就完了 布尔盲注 所谓盲注就是在服务器没有错误回显的时候完成注入攻击...一. 1.count()函数:统计查询结果的数量; 2.length(str)函数:返回字符串 str的长度; 3.left()函数: left(database(),1)=‘s’ left(a,b)

17810

bwapp之sql注入_sql注入语句入门

: addslashes() 函数 返回在预定义字符之前添加反斜杠的字符串。...High 采用了mysql_real_escape_string()函数来防御 mysql_real_escape_string() 函数 转义 SQL 语句中使用的字符串中的特殊字符。...下列字符受影响: \x00 \n \r \ ‘ “ \x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。 无法注入。...翻译一下就是: 由于expandArguments()函数没有正确构造准备好的语句,这使得远程攻击者能够通过包含精心编制的手工语句进行SQL注入攻击。影响Drupal版本在7.x~1.32。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

8.3K30

PHP中常见的错误与异常处理总结大全

本文将详细给大家介绍PHP错误与异常处理的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 一、PHP错误处理 1.语法错误 2.运行时错误 3.逻辑错误:不提示错误,但功能不对...,最麻烦 4.三种级别:notice/warning/fatal error(无法继续执行) 5.错误报告显示:      a.可以在php.ini中修改error_reporting项目,以限定错误报告类型...,如:error_reporting=E_ALL & ~E_NOTICE      b.只修改某个脚本错误显示,可以使用error_reporting(E_ALL & ~E_NOTICE); (推荐...*/ 7.记录错误日志      a.将PHP.ini中display_errors设置为Off,log_errors设置为On      b.自定义日志目录error_log="C:/XX/XX/php_error.log..."开车上班"; drive();//忘记传参,触发自定义错误函数中警告性错误,抛出异常 }catch(Exception $e){//相当于Exception $e = new Exception

54930

SQL报错注入

SQL报错注入 利用xpath语法错误 使用条件:mysql版本>5.1.5 extractvalue extractvalue函数 函数原型:extractvalue(xml_document,Xpath_string...extractvalue(xml_document,Xpath_string); 第一个参数:xml_document是string格式,为xml文档对象的名称 第二个参数:Xpath_string是xpath格式的字符串...作用:从目标xml中返回包含所查询值的字符串 pyload:id='and(select extractvalue("anything",concat('~',(select语句)))) id='and...32,如果我们想要的结果超过32,就要用substring()函数截取或limit分页,一次查看最多32位 举例: id='and(select extractvalue(1,concat(0x7e,substring...xml_document,xpath_string,new_value) 第一个参数:xml_document是string格式,为xml文档对象的名称 第二个参数:xpath_string是xpath格式的字符串

35220

报错注入详解_报错注入的过程

利用前提:页面上没有显示位,但是需要输出SQL语句执行错误信息。...Rand()函数作用如下: 返回[0,1)之间的随机数,用法就是SELECT rand(); Floor()函数作用如下: 向下取整,用法即SELECT floor(11.332423),...第二个参数:XPath_string (Xpath格式的字符串)。 作用: 从目标XML中返回包含所查询值的字符串。 ps: 返回结果限制在32位字符。...库名: id=1' and extractvalue(1,concat(0x7e,database())) --+ 表数: id=1' and extractvalue(1,concat(0x7e...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.2K30
领券