您现在的位置是:休闲 >>正文
pikachu靶场sql注入
休闲62245人已围观
简介Pikachu靶场的SQL注入模块,是我见过最适合新手入门SQL注入的练习环境。它不像DVWA那样需要配置数据库,也不像SQLi-Labs那样纯命令行枯燥。打开Pikachu的页面,一个黄澄澄的皮卡丘 ...
Pikachu靶场的注入SQL注入模块,是注入我见过最适合新手入门SQL注入的练习环境。它不像DVWA那样需要配置数据库,注入也不像SQLi-Labs那样纯命令行枯燥。注入打开Pikachu的注入页面,一个黄澄澄的注入皮卡丘在左上角,旁边就是注入SQL注入的入口,点进去,注入第一关叫"数字型注入"。注入
这一关的注入界面是个简单的查询框,输入ID,注入下面返回用户名和邮箱。注入我输入1,注入正常返回。注入输入1 and 注入1=1,还是正常返回。输入1 and 1=2,页面空白了。就这么简单,一个数字型注入的漏洞就暴露了。很多人觉得这太基础,但真正的SQL注入核心逻辑,恰恰就藏在这种"输入什么返回什么"的对应关系里。你输入的内容被拼进了SQL语句,数据库执行后把结果反馈到页面,这个过程本身就是漏洞的根源。
我见过不少初学者卡在"为什么1 and 1=2就没结果"这个坎上。其实你换个角度想,SQL语句大概是这样的:SELECT * FROM users WHERE id = $id。当$id变成1 and 1=2,整条语句就变成了WHERE id = 1 and 1=2,这个条件永远为假,自然查不出东西。一旦你把这个逻辑理顺,后面的一切都顺理成章了。
然后是字符型注入。Pikachu在界面上特意标了个"单引号"的提示,你输入一个单引号,页面直接报错。这个报错信息很关键,它直接告诉你SQL语句的拼接方式。我试了试输入1',报错信息里能看到语句大概长这样:WHERE username = '1''。多出来的那个单引号破坏了语法。这时候你输入1' or '1'='1,就能把所有用户数据拉出来。这种"闭合前一个引号,再构造自己的条件"的思路,是字符型注入的核心技巧。
Pikachu还有个搜索型注入的关卡,界面是个搜索框,你输入关键词,它返回匹配的用户名。这关的坑在于,很多人以为搜索框只能用来搜东西,但其实它背后也是SQL查询。我输入a%' or 1=1 -- ,结果把所有记录都翻出来了。这种场景在真实网站里太常见了,比如电商网站的搜索功能、论坛的帖子搜索,只要没对输入做过滤,都可能存在同样的漏洞。
再往深处走,Pikachu还给了POST型注入和报错注入的练习。POST型注入跟前几关的区别只是请求方式不同,但逻辑完全一样。报错注入则是利用数据库报错信息来提取数据,比如你输入1' AND extractvalue(1, concat(0x7e, (select database()))) -- ,页面会直接报错并显示出当前数据库名。这种手法在真实渗透里很实用,因为很多网站虽然过滤了联合查询,但没过滤报错信息。
整个Pikachu的SQL注入模块,其实就教了一件事:你要学会跟数据库"对话"。不是那种死记硬背payload的对话,而是理解SQL语句的拼接规则,然后通过构造特殊输入,让数据库按你的意思执行查询。这个模块的难度曲线很平缓,从数字型到字符型,从GET到POST,从普通注入到报错注入,每一步都有提示,但又不至于直接给你答案。
我自己练完这套关卡大概花了一个下午。说实话,中途有几次卡在报错注入的语法上,总想着找个工具直接跑,但最后还是手动敲完了所有payload。那种把一个报错信息读懂、然后构造出正确语句的感觉,比跑任何自动化工具都爽。如果你真想学SQL注入,别急着上sqlmap,先把Pikachu里这十几个关卡手动过一遍,比看十篇教程都管用。
Tags:
下一篇:荆州区号
相关文章
网站快速排名易下拉系统
休闲我见过太多网站死在“内容很好但没人看见”这个坎上。三年前给一家做工业零件的客户改站,他们产品页面写得比竞品详细十倍,但搜索引擎就是不给面子,排名卡在第五页。后来问题根本不是内容,是页面结构里那十几层嵌 ...
【休闲】
阅读更多如何测试网站
休闲测试网站这事儿,说穿了就是把自己当成一个又懒又急躁还带着点被害妄想的用户,去网站上找茬。你越能模拟出那种“这破网站怎么还不给我看结果”的烦躁感,越容易发现真问题。 打开首页,第一件事不是看设计,是看它 ...
【休闲】
阅读更多二级反渗透设备报价
休闲二级反渗透设备报价:三万到三十万,差距到底在哪? 上周刚给一家食品厂报完价。他们拿着一张别家给的8万8的报价单来问我,说“你们怎么报15万?是不是看我们不懂?”我没急着解释,先问了他们三个问题:原水 ...
【休闲】
阅读更多