当前位置: 首页 > news >正文

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-CSDN博客

从网上找的源码,便于理解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下载-CSDN博客

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

 Pass16 

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

Pass17

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

直接爆破出用户名admin

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

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

相关文章:

  • 【LeetCode 题解】算法:4.寻找两个正序数组的中位数
  • Spring WebSecurityCustomizer 的作用
  • Resume全栈项目(一)(.NET)
  • wokwi arduino mega 2560 - 键盘与LCD显示
  • Go语言中context.Context的
  • DM9162使用记录
  • [计算机三级网络技术]第十一章:网络管理技术
  • Spring WebFlux之ServerWebExchange
  • 从LLM到AI Agent的技术演进路径
  • Qt图形视图框架在项目中的应用
  • 涅槃上岸,入陕进军,复试全程流程开启!
  • C语言编译为可执行文件的步骤
  • Win32 / C++ Windows文件夹路径获取
  • mysql 入门
  • 多层感知机从0开始实现
  • Java设计模式之解释器模式
  • ofd转pdf报错:org.ofdrw.reader.ZipUtil.unZipFileByApacheCommonCompress【已解决】
  • web爬虫笔记:js逆向案例十一 某数cookie(补环境流程)
  • C#委托介绍
  • 算法数论.3(拓展欧几里得,中国剩余定理)
  • 最高法:政府信息公开案件审理应避免泄露国家秘密、商业秘密
  • 全国35城居民对公共服务满意度“打分”,上海多项指标居首
  • 金融监管总局将研究出台专门的城市更新项目贷款管理办法:引导大力支持城中村的改造等
  • 这个东西每道菜里都有,却可能让你得一身病,做好这些能避免
  • 首届巴塞尔艺术奖公布:大卫·哈蒙斯、曹斐等36人获奖
  • 周国辉谈花开岭现象 :年轻的公益人正在用行动点亮希望