- 博客(14)
- 收藏
- 关注
原创 django学习 1d59951b1527802c870bea0a8a994cbc
2025年4月14日 18:17Django的安装和项目的创建我就先跳过,请大家自行查阅资料前面给出一些必备知识:在django里面要实现的每一个功能都称作app,比如说这个系统有一个买电影票的功能,那么就可以创建一个app,名为movie等等,每个app都会自动生成views,apps,models等重要的模块。下面是通
2025-04-17 16:41:37
589
原创 BUUCTF [安洵杯 2019]easy_web
= (string)$_POST['b'] && md5($_POST['a']) === md5($_POST['b'])) ,md5强碰撞。在网上找payload,抓包,发送payload,注意因为md5传参是post传参,发送包之前先改成 post传参数。代码的正则匹配真的很强,但是没有匹配 /,那么就想到rce了,开始执行命令,直接是ca/t 命令。其实这之后我就没思路了,看到各位博客,有一个想法就是,这个555.png会不会包含index.php的源码,就想试一下。
2025-02-02 15:40:40
571
原创 BUUCTF [王鼎杯朱雀组2019]easyweb
问了一下deepseek这个da ta函数的参数格式是就是p的值的格式,那应该就是func的值是函数名,p的值是data函数的参数的格式。我就想到直接system函数,之后尝试传递参数,应该得到所有的文件。被过滤了,换一个,想到了昨天题目中的file_get_contents函数,还有就是filter协议,得到index.php的源码,打开题目是一个带有图片的页面,这个页面每隔一段时间后会闪,检查了一下,没有什么特别的,抓包,发现有两个传参。写一个简单的脚本,序列化system(ls)。
2025-02-02 15:24:18
146
原创 攻防世界:web_php_wrong_nginx_config
但是这里有趣的事情发生了,就是我的穿越payload 不起效,。file=../index&ect=php,还是没有报错,这个不应该,除非上级有一摸一样的文件,但是可能性不是很大,我就猜../被过滤了。我真的看不下去了,看了wp,发现,哟一个hack.php的备份文件;后面就是跑脚本,加载一句话木马,很新颖的加载方式,在kali试了一下,打开页面是个登陆页面,没有注册选项,那就弱密码,admin,123456。这个看着好难受,而且也没有思路了,我就看了一下大佬的博客;
2025-02-02 03:22:26
859
原创 攻防世界web_php_unserilize
问了一下deepseek,当类的属性大于或小于实际属性的时候不会调用这个函数。就写一个简单的脚本,运行一下,然后用var传递参数就可以了。现在的任务是想办法不要执行wakeup()函数,因为这个函数会将file的值强制变成index.php。详细的审计写在注释里面了。
2025-02-02 01:49:54
209
原创 攻防世界:web_php_incude
我这里是看了一下大佬的博客,查询mysql的secure_file_priv的值。如果是空的话就是没有限制,这个目录是跟myssql文件的导入和导出限制有关系的,空的话就说明,任何目录任何操作都可以做,那么我就想到了写入一句话木马,但是不知道写到那个文件里面。看了大佬的博客之后发现,unix默认tmp目录是可写目录。payload 就是http://61.147.171.105:61566/?拿下这里路径里面有哪些文件;
2025-02-01 23:04:13
321
原创 攻防世界php-rce
s=index/\think\Container/invokefunction是路由参数,是在定位到index模块下的\think\app\invokefunction这个方法。&function= call_user_func_array 在指定给invokefunction传递的参数是call_user_func_array函数,这个函数是PHP的一个内置函数,用来传递数组参数。打开题目,很显然是thinkphp5框架,我记得我认识这个框架就是因为这个rce漏洞,但是我需要知道这个漏洞的准确的版本。
2025-02-01 21:53:36
291
原创 攻防世界PHP2
开始审计代码,发现有两个if条件,第一个if条件,需要get传惨ID的值如果等于admin的话,会显示notallowed,第二个if条件,对get传入进来的id的值进行url解码,如果等于admin的话会显示flag,a字母的url编码是%61,但是会发现如果直接传入?看到了提示是PHP2,开始想网站由什么组成,详细的问了一下deepseek,主要是由前端,后端,各种组件,数据库,服务器等等。没有报错,script.php报错了。2.交互功能的实现:PHP可以处理网站表达数据,实现用户与网站之间的交互。
2025-02-01 20:52:30
291
原创 攻防世界easyphp
如果数组中包含DGGJ的话会终止程序,想到了在低版本的php中,array_search()函数的底层逻辑是弱类型匹配(==),'DGGJ' ==0,那么就开始得到c的值。foreach($c["n"] as $key=>$val){//遍历$c['n']中是否包含$key=>$val。$c = {"m" : "2023c" , "n" : [[], 0]}最后构造出来的payload是;这里如果数组中存在DGGJ的话会执行程序。
2025-02-01 12:48:35
664
原创 BUUCTF 2019 强网杯 随便注入
order by 语句判断有几个字段数,判断出来有2个字段。后面想的用union select 来进行联合查询,发现他把union select等关键字过滤了。后台的查询语句应该是 select * from words where id=?打开题目还是有框,输入1 有输出,输入1‘就输出错误,说明是字符型注入。发现只有一个字段,但是words表有两个字段。回显成功,得到flag。
2025-01-17 14:02:45
132
原创 BUUCTF BabySql
我猜应该是把or 过滤了,就想到了双写绕过,把万能密码改成了 1‘ oorr 1=1 #,这样就登陆成功了。这会儿一举两得了,知道了字段数还知道了回显点。就得到了数据库名称和当前用户的权限,发现竟然有root权限,就说名可以实现跨库查询。开始经典的万能密码注入:1' or 1=1 # 报错很有意思。对报错的信息保持敏感度,这样就可以很快作出这道题。里面没有关于flag的表。
2025-01-17 13:15:32
307
原创 BUUCTF lovesql
开始分别测试1,1‘,1’ or 1=1,1' or 1=1 #,都测试之后就会发现只有在1‘ or 1=1 #的时候就能登陆成功。开始一次获取数据库名,表名,字段名以及字段的内容。1' order by 1 # 发现有3个参数。打开题目有输入用户名和密码的框框,可以传递参数。开始order by 语句,判断有几个字段数。尝试一下union 注入,h很常规的sql注入题目。用以上的语句判断回显点。
2025-01-17 00:37:23
161
原创 CTFHUB技能树sql注入(报错注入)
打开环境是一个框框可以输入数据,提示输入一个1 试试,输入1 之后能看到查询语句。爆出来表名为flag,直接select得出来flag.
2025-01-16 13:50:32
164
原创 CTF HUB技能树sql注入(整型注入)
那么就猜表名称是news,data这里应该会输出我们想要的数据。后面的步骤就是sql的老套路了,orderby -->爆库名--》爆表名--〉爆字段名--》拿到数据。我试了orderby 到3的时候报错,说明他有2个字段,那么就尝试一下进行联合查询, 我们的union 关键词没有被过滤,说明可以进行联合查询。打开题目是个框框里面可以输入ID,题目说了是整型注入,应该不会有引号闭合问题。果真爆出来了数据库 名,叫sqli,group_concat()函数,可以输出全部的表名,得到有一个表名为flag。
2025-01-15 21:34:19
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人