sql结尾加刷题

找了一下mysql对extractvalue()、updatexml()函数的官方介绍https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html#function_extractvalue

ExtractValue(xml_frag, xpath_expr) 

知识点

解释一下这两个参数xml_frag,是xml标记片段,第二个参数它返回由 XPath 表达式匹配的元素的第一个文本子节点的文本内容(CDATA

XPath 表达式是一种用于在 XML 或 HTML 文档中定位和选择特定节点或节点集的语法  

基础语法:                              

1.//html表示选取 HTML 文档的节点<html>

 //:表示在整个文档中进行搜索,不考虑节点的具体位置。eg://div表示选取文档中所有的<div>元素。

2.@:用@符号来选取节点的属性eg://a[@href]表示选取所有具有href属性的<a>元素。

3.[]:用于筛选节点,放在方括号[]中。eg://li[1]表示选取第一个<li>元素,//div[@class='content']表示选取class属性为content<div>元素。

4.文本子节点:元素内纯文本的内容

5.CDATA:只当作字符数据来处理,不进行额外转译

 结合实例

后面一步一步常规注入就行了,通常还会在 concat() 中加入特殊字符(如 ~0x7e#)来确保 XPath 解析失败

UpdateXML(xml_target, xpath_expr, new_xml)

知识点

1.此函数将给定的 XML 标记片段 xml_target 的单个部分替换为新的 XML 片段 new_xml,然后返回更改后的 XML。xml_target 中被替换的部分与用户提供的 XPath 表达式 xpath_expr 匹配。如果没有找到与 xpath_expr 匹配的表达式,或者找到了多个匹配项,该函数将返回原始的 xml_target XML 片段。所有三个参数都应该是字符串。

(/G是以垂直形式查询结果而非表格)

2.符号:

*:通配符eg:/*/b ,/*/b/* 

|:联合  eg://b|//c 匹配 XML 目标中的所有 bc 元素

g[@attribute="value"]:eg://b[@id="idB"] 在片段 <a><b id="idA"/><c/><b id="idB"/></a> 中匹配第二个 b 元素,//*[attribute="value"]匹配具有 attribute="value" 的任何元素

//b[@c="x"][@d="y"]:匹配在给定 XML 片段中任何位置出现的元素 <b c="x" d="y"/>

//b[@c="23"]|//b[@c="17"]:相当于//b[@c="23" or @c="17"],匹配 c 属性的值为 2317 的所有 b 元素

结合实例

忘记加group_concat,也可以limit一个一个查注意是limit0,1

而不是limit(0,1),哦买噶做的时候搞错了一直不行

后面常规注入就行了,本来做过一遍,没保存没掉了

Post

Pass11

找到一篇文章对原理解释很清晰

1-Web安全——初识SQL注入漏洞_select * from user where name='123' or '1'='1-优快云博客

从网上找的源码,便于理解post传参的查询语句

界面变成登陆页面

随便输入,抓包,是post传参

报错

admin显示登陆成功

尝试--+ 登陆失败,但是-- -登陆成功,过滤了--+

尝试万能密码登陆成功

order by1,2可任意1,2,3不行

说明有两列

判断回显位1,2都可,

数据库名字回显,其实大体和get差不多

Pass12

"报错,闭合是")

尝试改过后的万能密码得到部分信息

两列,后面步骤一样了

Pass13

')闭合

万能密码无回显,用报错注入

Pass14

双引号闭合

但是没有信息回显

虽然1,2时没有有效信息,尝试1,2,3的时候爆错,说明有2列

无回显还是试试爆错注入,注意payload怎末写别搞错掉

后面一样了

Pass15

布尔盲注

无论试什么都没得回显,

尝试万能密码成功登录,所以是单引号闭合,找到注入点,尝试报错注入

还是没得回显,可能过滤了被,只能用布尔盲注了注意payload里是or

好的后面按着做就行了,哦哦最好还是先用length把长度爆出来,当然了也可以用if语句构造延时盲注,我看别人的wp还可以用sqlmap做

sqlmap

下载成功,这篇文章对sqlmap的使用解释的非常清楚SQLMAP的下载安装和使用(Windows)_sqlmap下载-优快云博客

算了,搞了半天环境变量也添加了,就是显示无法运行我也不知如何是好

 Pass16 

和pass15一样,就是闭合改为")

Pass17

页面提醒重置密码,无论怎摸样都没有回显,查看源码,只对uname进行了过滤,所以uname必须为真

直接爆破出用户名admin

在passwd位置单引号,爆错,单引号闭合

后面就在password位置报错注入就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值