今天我遇到一个问题,题目描述如下: 一个字符串,求这个字符串中不包含重复字符的最长子串的长度,如abba返回2,aaaaabc返回3,bbbbbbb返回1,等等上面是测试用例。...那么我解决这个问题的思路有两种: 第一种是,设一个头指针和一个尾指针,头指针指向,不包含重复字符子串的第一个字符,尾指针指向不包含重复子串的最后一个字符,用一个hashset保存已经出现过的字符,例如abba...,如果尾指针指向的字符,在集合中没有出现,那么将这个字符放入结合,然后尾指针向后移动,这是尾指针会移动到第二个b的位置,如果集合中已经包含了这个字符,那么用尾指针的索引减去头指针的索引,会求出一个子串的长度...maxLength(str)); } } 第二种思路比较巧妙,思路是这样的这次要以一个hashmap作为辅助,map的key存储的是字符,value存储的是该字符当前的位置,首先设置一个头指针,指向字符串开头...,那么从开始遍历字符串,如果map当中不包含这个字符,那么用这个字符当前所在的位置减去头指针的位置,然后与最大长度做比较,选打的成为最大长度,然后把当前字符的以及位置放入map,以abba为例,头指针指向
错误写法演示:无标签纯文字 那如果是纯文字呢?...官方给出的解释是:必须包裹在一个闭合的标签内。意思就是说不能N个闭合标签并列吗?...所以小伙伴们,不写()也不会报错的。...style就比较复杂了,他不是一个值一个字符串能够搞定搞定的。我先在报错的边缘试探下吧。 试探一:字符串!...试探二:单层{} let element=A爆 复制代码 直接编译错误了。也就是说JSX中不能直接包含JS的函数。
大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。...文件包含函数 include( ) 当使用该函数包含文件时,只有代码执行到 include()函数时才将文件包含 进来,发生错误时之给出一个警告,继续向下执行。...,函数会输出 错误信息,并终止脚本的运行。...1.打开界面是一个登陆页面,查看源码发现敏感信息 2.登陆之后发现abc.php 3.不登录直接将findabc.php改为abc.php也可访问 PHP反序列化 在理解这个漏洞前,你需要先搞清楚php...该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。
,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. 对各种报错注入的返回结果,统一返回至不包含任何错误提示信息的回显页面。
在有的时候我们需要知道网站的绝对路径,下面我总结了几点查看网站路径的方法 错误页面爆网站路径 phpMyAdmin报错路径 ? SQL注入点报路径 ?...单引号报错路径 www.liuwx.cn/news.php?id=1' 错误参数值爆路径 www.liuwx.cn/news.php?...id=-1 nginx文件类型错误解析爆路径 nginx文件类型错误解析爆路径 www.liuwx.cn/hack.jpg/x.php 配置文件读取网站路径 ?...但是这个对于Mysql数据库有版本限制,当前用户还得拥有file权限的前提下 load_file()和load data infile()方法为: 新建一个表,读取文件为字符串格式插入表中,然后读出表中数据...”); phpinfo函数 ?
,n];直到不产生错误则n就是此表的列数 方法二:使用order by 排序,并运用二分法,猜猜猜!例如:访问www.linuxtest.com/test2.php?...】 爆第一个表名: 访问www.linuxtest.com/test2.php?...因此,当我们使用函数进行注入的时候单引号被过滤处理了,那么将会出现错误! 此时我们可以使用字符串的十六进制或者ASCII码的十进制进行注入! ...这个问题可以这么解决, 使用使用MySQL中的 subString 函数, subString(字符串,开始,返回)。 ...但需要注意的是,由于黑名单不可能包含所有的危险字符,所以可能会出现黑名单被绕过的情况。
page=4&id=524' 返回错误 http://www.xxx.cn/list.php?...page=4&id=524 and 1=2 返回错误 注意:数字型注入最多出现在ASP/PHP等弱类型语言中,弱类型语言会自动推导变量类型,例如,参数id=8,PHP会自动推导变量id的数据类型为...page=4&cid=x' 返回错误 http://www.xxx.cn/list.php?...'%'=' 返回正确 x%' and 1=2 and '%'=' 返回错误 判断字段数 数字型 http://www.xxx.cn/list.php?...13.数据库中字符串的连接符?
报错注入 报错注入在没法用union联合查询时用,但前提还是不能过滤一些关键的函数。 报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。...这里主要记录一下xpath语法错误和concat+rand()+group_by()导致主键重复 xpath语法错误 利用xpath语法错误来进行报错注入主要利用extractvalue和updatexml...两个函数。...,Xpath_string); 第一个参数:xml_document是string格式,为xml文档对象的名称 第二个参数:Xpath_string是xpath格式的字符串 作用:从目标xml中返回包含所查询值的字符串...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
1.报错注入 1' 输入:1' 没有回显,应该是存在SQL注入,但是关闭了错误回显,所以报错注入是行不通了。...> 代码解析: 1.strstr() — 查找字符串的首次出现 2.stristr() — strstr() 函数的忽略大小写版本 3.要GET一个file参数过去,但是不能含有…/、tp...、input、data,包括这些的大小写 不含有这些的话就会包含file指定的文件,php://伪协议 4.php://filter可以使用 5.尝试构造payload: payload=/secr3t.php...内联,就是将反引号内命令的输出作为输入执行。...还有这个内敛绕过!
再进行多次重复,看一下关于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 ,
Group By 语句的后面,作为分组的依据;要么就要被包含在聚合函数中。...,所以第二次运算的结果可能与第一次运算的结果不一致,但是这个运算的结果可能在临时表中已经存在了,那么这时的插入必然导致主键的重复,进而引发错误。...爆库名: 爆表名: 爆列名: 爆数据: 3、extractvalue() 、updatexml() 从 mysql5.1.5 开始提供两个 XML 查询和修改的函数,extractvalue...xml 文档中按照 xpath 语法查询节点内容,updatexml 则负责修改查询到的内容: extractvalue (XML_document, XPath_string):从目标 XML中 返回包含所查询值的字符串...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
报错注入: 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: ?
,所以不要着急,在这里讲一下我认为比较简单省事的,如有分析错误的地方欢迎指正!...正常显示说明语句正确,得到数据库的第一个字母,图中字母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语句显示出来,想了解更多方法可以参考前面的链接,接下来爆表名:
0x5c,password) from users),3 %23 遇到第五关报错注入 学习文章1 学习文章2 SQL 报错注入详解 学习笔记: 报错注入原理:报错注入就是利用了数据库的某些机制,人为地制造错误条件...,使得查询结果能够出现在错误信息中。...xpath语法的字符串,如果不满足要求,则会报错,并且将查询结果放在报错信息里,因此可以利用。...32,如果我们想要的结果超过32,就要用substring()函数截取或limit分页,一次查看最多32位 注:version()=@@version updatexml函数: updatexml(xml_document...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
接受到请求后的一些默认数据) 127.0.0.1/localhost 抓包是不抓不到的,这里请右转ipconfig。...自动跳转等等,数据库错误不一定属于网站异常错误。...2.HEAD头注入原理 答:利用了php的全局变量$_server获取用户的相关信息且将数据存入数据库,利用updatexml函数输入sql语句,返回信息。...updataxml第二个参数需要的是Xpath格式的字符串。当输入的不符合。故报错由此报错。...+concat()函数拼接特殊字符,让数据库进行报错。
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)
: addslashes() 函数 返回在预定义字符之前添加反斜杠的字符串。...High 采用了mysql_real_escape_string()函数来防御 mysql_real_escape_string() 函数 转义 SQL 语句中使用的字符串中的特殊字符。...下列字符受影响: \x00 \n \r \ ‘ “ \x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。 无法注入。...翻译一下就是: 由于expandArguments()函数没有正确构造准备好的语句,这使得远程攻击者能够通过包含精心编制的手工语句进行SQL注入攻击。影响Drupal版本在7.x~1.32。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
本文将详细给大家介绍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
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格式的字符串
利用前提:页面上没有显示位,但是需要输出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...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
领取专属 10元无门槛券
手把手带您无忧上云