sql注入攻击实验

  发布时间:2026-10-17 06:21:04   作者:玩站小弟   我要评论
把单引号塞进登录框,回车,整个用户表就摊在浏览器里了。这不是电影桥段,是上周我在本地靶场亲手复现的 SQL 注入。代码里那行 SELECT * FROM users WHERE name = '$na 。

把单引号塞进登录框,入攻回车,击实整个用户表就摊在浏览器里了。入攻这不是击实电影桥段,是入攻上周我在本地靶场亲手复现的 SQL 注入。代码里那行 SELECT * FROM users WHERE name = '$name',击实只要 $name 填上 ' OR '1'='1,入攻数据库就把所有账号当成了合法身份。击实问题不在数据库,入攻在拼接字符串的击实人。

我搭的入攻环境是 PHP 7.4 + MySQL 5.7,前端一个灰扑扑的击实登录页。先输 admin' --,入攻注释掉后面的击实密码校验,直接进了后台。入攻再试 ' UNION SELECT 1,user(),database() --,页面回显里蹦出 root@localhost 和库名 testdb。那一刻挺安静,就鼠标点了一下,数据自己走出来了。注入的本质是让用户输入变成 SQL 语法的一部分,而不是数据。数据库分不清哪段是代码、哪段是值,谁拼的字符串谁背锅。

手工注入慢,但能看清每一步。用 ORDER BY 猜列数,从 1 试到 5 报错,说明当前查询用了 4 列。UNION SELECT 时列数必须对齐,否则直接 500。接着查 information_schema.tables,把表名一个个捞出来。有个细节:MySQL 5.0 以上才有 information_schema,老版本得靠盲注。盲注更磨人,用 SUBSTRING 和 ASCII 逐字符猜,一个库名能跑半小时。布尔盲注看页面真假,时间盲注看 SLEEP(5) 卡不卡。我试过用 IF(ASCII(SUBSTRING(database(),1,1))>100,SLEEP(3),0),浏览器转圈的那几秒,心里反而踏实——说明注入点活着。

工具当然快。sqlmap 一条命令 -u "http://target/login.php" --data="name=1&pass=1" --dbs,库名、表名、字段、数据全给你拖出来。但工具跑出来的结果我总要多看两眼,因为有些注入点被 WAF 拦了,sqlmap 会换 tamper 脚本绕,绕得对不对得自己验证。有次它报存在注入,我手工一测是误报——参数进了 LIKE 语句,单引号被转义了,工具没识别出来。工具是拐杖,腿还得自己长。

防御这事,说烂了但总有人踩坑。预处理语句是正解,PDO 或 mysqli 的 prepare 把 SQL 结构和数据分开传,数据库先编译再填值,单引号永远只是单引号。我见过有人用 addslashes 就以为万事大吉,宽字节注入(%df')直接绕过。还有过滤 union 关键字的,大小写混写、内联注释 /*!union*/ 照样过。白名单比黑名单靠谱,参数化比转义靠谱,最小权限比 root 连库靠谱。给 Web 应用配个只能 SELECT 的数据库账号,就算注入了也拖不走 mysql.user。

实验做完我把靶场删了,但那条拼接字符串的代码还留在脑子里。SQL 注入二十多年前就有人写论文,到现在 OWASP Top 10 里还能排上号。不是技术难防,是写代码的人图省事。下次看见 ".$_GET['id']." 直接拼进查询,我大概会先叹口气,再默默改成 ? 占位符。

  • Tag:

相关文章

  • 加强内控建设优化制度堵塞监管漏洞

    某地一家制造业企业,去年年底盘点时发现账上少了三百多万。查来查去,问题出在一个不起眼的采购助理身上。他既负责录入供应商信息,又掌握着付款审批的初步审核权,还能偶尔接触到公司财务章的使用申请。就这么三个
    2026-10-17
  • 客户需求挖掘与分析

    一个做SaaS的销售跟我抱怨,说客户明明在演示会上点头点了一路,会后却消失了。我问他,客户具体问了哪些问题?他翻聊天记录给我看——全是"你们支持API对接吗""有没有移动端""价格区间多少"。我说这不
    2026-10-17
  • 高清裸眼3d视频下载网站

    裸眼3D视频根本不需要戴眼镜,靠的就是屏幕上的视差光栅或柱状透镜让左右眼看到不同画面。但真正高清的裸眼3D片源少得可怜,大部分网站挂羊头卖狗肉,下载下来要么是红蓝格式,要么分辨率低到像回到2005年。
    2026-10-17
  • 副主任护师职称晋升答辩ppt

    评委老师好,我是来自心内科的XXX,今天答辩的内容围绕我近五年的临床护理实践与职称晋升准备。不绕弯子,直接说重点。 先讲一个病例。去年冬天收治了一位急性心梗合并心源性休克的老年患者,入院时血压测不出,
    2026-10-17
  • 二级子域名查询入口

    二级子域名查询这事儿,说穿了就是一场信息侦察。你输入一个主域名,工具帮你把藏在它下面的所有子站翻出来。比如你输入`example.com`,系统会返回`mail.example.com`、`dev.e
    2026-10-17
  • 上网不留痕迹隐身模式上网不留任何记录

    上网不留痕迹?隐身模式到底藏了多少东西 按下 Ctrl+Shift+N,Chrome 弹出一个深色窗口,右上角多了个侦探帽图标。很多人到这一步就觉得自己“消失”了。二十分钟前我邻居老周就这么干的,他在
    2026-10-17

最新评论