安恒429|复赛 web write up && 决赛经验
由于已经没有复赛的环境,只能文字回忆一下了
复赛给了web 2 350 原本是想考一个SSRF利用gopher去搞定一个fastcgi的外联端口,执行命令
具体的文章
http://zone.wooyun.org/content/1060
http://drops.wooyun.org/web/9845
然而出题人没把好关 长亭3分钟秒掉这道题后基本就猜到有奇解
那么其实就是简单的file协议 file://index.php 拿到了flag
然后一开始卡住的web 1 300呢,是通过注册超长字符串的用户,重复注册爆出dumplicate entry
得到管理员的hash admin_7365598732 24461a3ef270c652949f5fc37f37fcb2
解密后得到RGoN7r}G8lnrYBAX6n
登陆管理页,有一个删除文件的功能,传递的id参数可以用报错注入payload
+and(select+1+from(select+count(*),concat((select+table_name+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)%23
得到flag,然后居然还是一血。大概因为注起来很麻烦吧。
凭借着自己拿下的650+d神的500以及外校队友拿下的密码学题目 7th进入决赛。
===========================================================================
帅不过三秒 下午决赛开始被血虐
送走大寸自己稍微有点小低落,然后就被抓了先手
web我一开始没审计代码的时候,发现了至少3个点
这里用黑名单进行过滤,导致php5等后缀可以绕过
另外就是前台文章的一个root注入点
然而修复的时候使用的正则表达式/select.*from/i
算是最大的败笔,没有加s修饰符的话,用%0a是可以绕过的。
在注入的时候into outfile一直会把前面的用户数据读进去,一开始想的方法是
用户名注册为 然后导出
得到了wildwolf的webshell。但后来由于插内存马的时候报错,导致整个数据废掉了。
后来用union select来覆盖前面的数据,重新导出了,但是于事无补,自己也只拿到了200多分。
期间pwn和web服务一直被人打挂掉,导致了巨额失分。
最后今天回来的时候重新写了一份php的自动化防护脚本,希望以后攻防赛有机会用上

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Alipay PHP...

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.
