- 博客(50)
- 收藏
- 关注
原创 ThinkPHP框架审计--基础
访问url:http://127.0.0.1:8094/index.php/index/qdy/sql?在app\index\controller文件下加入新类qdy。但是如果没有遵循开发文档的写法便可能存在sql注入。根据开发手册可以大致了解该框架的路由。配置数据库 database.php。在config.php内开启调试模式。查看版本方法,全局搜version。查看版本方法,全局搜version。那么访问这个方法的url就是。例如在代码下面添加新方法。根据开发文档写查询语句。该版本是5.0.24。
2024-12-09 23:09:16
493
原创 php代码审计 -动态调试-变量覆盖挖掘
上面代码可以看出来svali会被重新赋值,而validate可以变量覆盖,所以得根据以下代码构造validate。打开admin/login.php文件,发现同时包含了check.admin.php的文件,可能是鉴权文件。但是需要找到session_start()代码在包含/duomiphp/common.php文件前的文件。下一步寻找可利用的点,比如鉴权的地方,判定某个变量必须等于某个值,我们就可以使得变量覆盖导致未授权。发现有个login.php看起来是涉及登录的文件,应该可以利用。
2024-11-19 23:14:33
1172
原创 php代码审计-动态调试-未授权挖掘
源码下载:https://zdown.chinaz.com/201707/CwCMS_php_v1.8.rar。发现这里就是鉴权代码,这里是session所以,无法绕过,可以发现Admin/Admin.php是鉴权文件。源码下载:https://zdown.chinaz.com/201503/xhcms_v1.0.rar。登录后访问url:http://127.0.0.1:8089/admin/cw_main.php。访问:http://127.0.0.1:8088/admin/?成功暂停,点击下一步。
2024-11-18 23:01:43
406
原创 PHP代码审计 --MVC模型开发框架&rce示例
示例cms:http://www.lmxcms.com/file/d/down/xitong/20210628/202106281714266126.zip入口文件:define(‘LMXCMS’,TRUE):定义常量LMXCMS并赋值为TRUEinc/run.inc.php文件就是路由文件可以看见requireClassName函数接收值,转化路径源码下载:http://www.lmxcms.com/file/d/down/xitong/20210628/202106281714266126.zip
2024-11-17 23:42:20
1296
原创 PHP代码审计 --文件安全
挖掘方法1、搜索关键词 $_FILES、unlink等2、找到对应功能点,通过url寻找到文件、代码3、文件名字,upload.php up.php upfile.php等等。
2024-11-17 23:36:08
734
原创 PHP代码审计 - SQL注入
emlog V6.0.0源码下载:https://soft-10-2.xiaoguaniu.com/soft/202105/Emlog_V6.0.0_XiTongZhiJia.zip?刚刚是通过$CACHE->updateCache(array(‘sta’,‘comment’));转到执行的,这个代码文件路径:/admin/comment.php。发现这里使用mysql_query函数,进行的sql语句,中间没有任何过滤,那么就存在sql注入。构造发包,发现执行了调试代码,但是报错。
2024-11-14 22:59:07
1429
原创 中间件安全
此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。利用工具。
2024-11-11 23:03:25
1382
原创 Couchdb&H2database未授权
默认端口:5984Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。在2017年11月15日,CVE-2017-12635和CVE-2017-12636披露,CVE-2017-12636是一个任意命令执行漏洞,我们可以通过config api修改couchdb的配置query_server,这个配置项在设计、执行view的时候将被运行。
2024-11-10 18:18:15
1054
原创 逻辑漏洞&验证码识别
1、水平越权:同级别的用户之间权限的跨越2、垂直越权:低级别用户到高级别用户权限的跨越3、未授权访问:通过无级别用户能访问到需验证应用靶场cms:metinfo4.0下载:https://www.metinfo.cn/upload/file/update/MetInfo4.0.zip。
2024-11-06 19:04:16
912
原创 JS渗透(安全)
作用域:相关数据值调用堆栈:由下到上就是代码的执行顺序常见分析调试流程:1、代码全局搜索2、文件流程断点3、代码标签断点4、XHR提交断点。
2024-11-04 18:35:36
1149
原创 PHP反序列化&原生类&字符串逃逸&框架反序列化利用
序列化的原因:为了的一个情况(类似于要发送一个椅子快递,不可能整个椅子打包发送,这是非常不方便的,所以就要对椅子进行序列化处理,让椅子分成很多部分在一起打包发送,到目的后重新组装,也就是反序列化处理)序列化:对象转换为数组或字符串等格式反序列化:将数组或字符串等格式转换成对象在php中,serialize()函数是序列化函数、unserialize()函数是反序列化函数上图可见,代码执行完后第一行是被序列化后的字符串。
2024-11-01 15:28:23
1156
原创 ssrf漏洞伪协议&绕过
SSRF(Server-Side Request Forgery:服务器端请求伪造)一种由攻击者构造形成由服务端发起请求的一个安全漏洞;一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。
2024-10-29 20:42:16
1206
1
原创 CSRF防范及绕过
检测referer字段例如:一旦没检测到referer头或域名不对就直接放弃处理包的请求所以绕过只能结合xss、文件上传html绕过。
2024-10-29 10:10:40
412
原创 xss跨站及绕过与防护
它主要是指攻击者可以在页面中插入恶意脚本代码,当受害者访问这些页面时,浏览器会解析并执行这些恶意代码,从而达到窃取用户身份/钓鱼/传播恶意代码等行为。
2024-10-27 14:35:07
941
原创 文件下载漏洞
C:\boot.ini //查看系统版本C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件C:\Windows\repair\sam //存储系统初次安装的密码C:\Program Files\mysql\my.ini //Mysql配置C:\Windows\php.ini //php配置信息C:\Windows\my.ini //Mysql配置信息。
2024-10-25 22:18:00
928
原创 文件包含漏洞
程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞PHP文件包含影响函数:include、require、include_once、require_once等黑盒测试参数:path、dir、file、pag、page、archive、p、eng等语言文字关键字眼php配置allow_url_include=Off会限制只能本地包含。
2024-10-25 19:31:52
943
原创 文件上传漏洞及安全
文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题,对于如何确保这类安全问题,一般会从原生态功能中的文件内容,文件后缀,文件类型等方面判断,但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题,也会在语言版本,语言函数,中间件,引用的第三方编辑器等存在缺陷地方配合利用。另外文件上传也有多个存储逻辑,不同的文件存储方案也会给攻击者带来不一样的挑战!
2024-10-24 20:36:48
1504
原创 sql注入 --sqlmap
语法:出现might be injectable 表示可能存在注入,(possible DBMS: ‘MySQL’) 表示猜测数据库为MYSQL出现该情况表名存在注入列数据库 --dbs指定数据库列表 -D database -tables指定数据库和表列列名 -D database -T table -columns指定数据库、表列列名和列表名字 -D database -T table -C column将测试的数据包放入data.txt内 在需要指定的参数值后面添加*-r data.txt 指定数
2024-10-24 00:07:53
1122
原创 sql注入 --二次注入&堆叠注入&文件读取getshell
SQL二次注入,指的是在有些应用场景下,我们先把SQL注入的payload写入到目标站点数据库中,然后再在某些实际将该数据取出,使得我们写入的payload执行。
2024-10-23 23:00:43
709
原创 信息搜集 ---开发框架识别
2、响应数据包特征字段 Set-Cookie: laravel_session= 或者Set-Cookie: XSRF-TOKEN=2、返回数据包的特征字段 Set-Cookie:expires= 或 Etag: "flask。5、Fastjson能正常解析缺失的值(忽略掉缺失的值) 而Jackson会抛出异常。2、响应头的Set-Cookie字段 存在 remember= 特征。2、返回数据包的特征字段 Set-Cookie:expires=插件商店搜索wappalyzer。
2024-10-21 14:22:09
975
原创 信息搜集 ---CDN及绕过方法
超级ping:http://17ce.com、https://ping.chinaz.com。带WAF的CDN:用户访问域名->CDN节点(WAF)->真实服务器IP->访问目标主机。搜索host会展现ip地址,不过有概率是内网地址,需要判断,这个方法看运气。普通CDN:用户访问域名->CDN节点L>真实服务器IP->访问目标主机。若返回的各地解析ip完全一致,则不存在cdn,反之存在cdn。传统访问:用户访问域名->解析服务器IP->访问目标主机。如下图高亮地区,如果域名对的上,那么ip就是真实ip。
2024-10-20 13:22:02
656
原创 信息搜集 ---目标主机架构识别
蜜罐是一种安全威胁的检测技术,其本质在于引诱和欺骗攻击者,所且通过记录攻击者的攻击日志来产生价值。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为web应用提供保护的一款产品。根据蜜罐与攻击者之间进行的交互的程度可以将蜜罐分为三类:低交互蜜罐、中交互蜜罐高交互蜜罐。当然还可以根据蜜罐模拟的目标进行分类,比如:数据库蜜罐、工控蜜罐、物联网蜜罐、web蜜罐等。4.代码级WAF:自己写的waf规则,防止出现注入等,一般是在代码里面写死的。
2024-10-20 11:59:01
551
原创 信息搜集 --前端js打点
在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取真实的点。获取URL,获取Js敏感信息,获取代码传参等,所以相当于JS开发的WEB应用属于白盒测试(默认有源码参考),一般会在JS中寻找更多的URL地址,在IS代码逻辑(加密算法,APIkey配置,验证逻辑等) 进行后期安全测试。去除 / 可使用sed -i ‘s///’ /dict.txt 替换掉开头第一个斜杠。
2024-10-19 00:04:39
1357
原创 信息搜集 ---源码获取
网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。swp即swap文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp。通过找到 web.xml 文件,推断 class 文件的路径,最后直接 class 文件,再通过反编译 class 文件,得到网站源码。发布代码的时候,如果没有把。
2024-10-18 23:56:53
1042
原创 信息搜集 --子域名
下载下来后 使用pip install -r requirements.txt 命令安装三方库。是存放每次运行OneForAll收集到子域的SQLite3结果数据库。集合了三种方式搜集子域名:证书查询、枚举、dns历史。当前目录下的results目录里就是扫描结果。工具推荐:oneforall。是每个主域下的子域收集结果。通过ssl证书指纹在。
2024-10-18 11:01:49
529
原创 redis未授权漏洞三大getshell姿势
Redis未授权漏洞是指在默认配置下,Redis服务器会绑定在0.0.0.0:6379端口,如果没有设置密码认证(通常为空),并且没有采取相关的安全策略,如添加防火墙规则来限制访问,那么Redis服务可能会暴露在公网上,导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。
2024-10-17 18:49:20
1647
原创 sql注入 --盲注详解以及绕过waf方法
mysql函数普及判断是否存在表判度存在多少个库判度当前库名长度爆破当前库名探测总库数量探测所有库探测指定库表数量探测第一个表长度爆破探测第一个表名爆破探测指定表的列名时间盲注和布尔盲注的主要区别就是,时间盲注靠网页响应时间判断结果语句和布尔盲注相比就是多了 sleep()函数和if()函数例如 判断是否存在表布尔盲注时间盲注括号代替空格原来:select column_name from information_schema.tables where table_name=“us
2024-10-15 22:40:08
1157
原创 vauditdemo 重装漏洞 复现
sys/config.php文件内,其中可以发现str_tmp变量内有四个变量,分别是。如果存在./sys/install.lock文件,则直接跳转到index.php,但是没有结束后面的代码,所以这里存在重装漏洞。由于install.php文件的开头if语句判断是否安装这里没有结束后面的代码,所以导致重装漏洞。原来首页直接文件包含了./sys/config.php文件,所以执行了插入的语句。安装成功,直接跳转到首页发现插入的恶意语句phpinfo() 成功被解析。结束代码后,就不能再接收参数了。
2024-08-14 14:41:25
497
原创 玄机靶场 ---apache日志分析
debain/ubuntuRed Hat/CentOS查询每个ip访问次数awk ‘{print $1}’ access.log.1 | uniq -c | sort答案flag{192.168.200.2}查询指定ip的请求头awk ‘$1 == “192.168.200.2” {print $0}’ access.log.1 | tail答案:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
2024-08-01 14:54:32
403
转载 golang 爬虫修炼06 ---POST请求,以及设置代理,取消证书,处理json格式数据
/ 添加自定义请求头// 发起请求若要传输json数据,则添加。
2024-06-27 17:06:45
150
原创 golang 爬虫修炼05 ---豆瓣电影横、纵向爬取
所谓横向爬取,是指在爬取的网站页面中,以“页”为单位,找寻该网站分页器规律。纵向爬取,是指在一个页面内,按不同的“条目”为单位。找寻各条目之间的规律。第二页:https://movie.douban.com/top250?第三页:https://movie.douban.com/top250?第四页:https://movie.douban.com/top250?F12查看一个电影的名字,发现同一部电影span.title居然有两个。如下图所示,往上发现每个电影的img标签的alt元素值就是每个电影名。
2024-06-26 15:20:53
532
原创 golang 爬虫修炼04 ---利用正则提取数据
函数的主要作用是将正则表达式中,奇形怪状的号(如.*[.)转换成 Go 语言能识别的格式,并将其存成结构体格式,方便编译器识别。返回值:返回成功匹配的二维数组[][][][][][][][][] []string。通常传-1,表示匹配所有。使用FindAllStringSubmatch()函数。解析失败时会产生 panic错误。使用regexp.MustCompile()函数。
2024-06-25 17:20:53
779
原创 golang 爬虫修炼03 ---百度贴吧并发爬虫
来到贴吧首页,F12开启浏览器抓包,随便输入一个词条搜索。爬取百度贴吧指定词条搜索结果的多页,并保存指定页面。加入协程、waitgroup,给io操作加上读写锁。qw参数是搜索的词条,被url强制编码的中文字符。对比可以发现pn参数为几返回的页面就是第几页。封装一个get函数,接收要搜索的关键词和页数。,由于这个io操作文件导致速度很慢。获取用户输入,然后进行爬取和保存。封装一个函数,作为保存文件。并返回爬取的网页body。抓到搜索后的首页url。运行后会发现速度特别快。
2024-06-20 20:25:24
446
原创 golang 爬虫修炼02 ---协程、互斥锁、读写锁、waitgroup
在任务切回来的时候,恢复先前保存的寄存器上下文和栈,这样就保证了该线程能够最大限度地处于就绪态,即随时都可以被cpu执行的状态,相当于我们在用户程序级别将自己的i0操作最大限度地隐藏起来,从而可以迷惑操作系统,让其看到:该线程好像是一直在计算,io比较少,从而会更多的将cpu的执行权限分配给我们的线程(注意:线程是CPU控制的,而协程是程序自身控制的,属于程序级别的切换,操作系统完全感知不到,因而更加轻量级)在理想的情况下,不管两个协程的函数如何交替,最后输出的结果都应该为0,但是这里输出的是。
2024-06-20 15:33:00
829
原创 golang 爬虫修炼01 ---爬取百度首页
使用bufio.Scanner创建一个扫描器,然后通过循环使得scanner.Scan()方法逐行读取。深度解析http.Get返回什么,按住Ctrl并点击Get跳转到源代码。发现Response是个结构体,去掉所有注释后如下所示。最后一定得用string()把字节切片转换为字符串。ioutil.ReadAll()可以直接读取内容。1、resp 类型:Response的指针。可见Get函数,返回的是两个参数。所以,resp返回的是个结构体。查看Response是什么。爬取百度首页并保存下来。
2024-06-18 22:51:18
289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人