Robin

LiuGuobin's blog

Cookie注入

表现

常见于 .asp?id=xx 之类的带参数的URL

前置知识

cookie是一些数据信息,类型为“小型文本文件”,存储于电脑上的文本文件中。
cookie是服务器创建后返回给游览器的。游览器只进行了保存。
一般cookie是以键值对进行表示的(key-value)

阅读全文 »

SQL二次注入

表现

在二次注入中,一般不会是单纯的二次注入
通常会与报错注入或Bool盲注结合。
比如,在注册页面输入的用户名在登录后才有盲注的回显
这时候我们需要自己编写脚本模拟注册及登录。

无法通过扫描工具或者手工测试出来,二次注入一般在审计代码过程中发现
从前端或黑盒测试无法看到

原理

阅读全文 »

SQL时间注入

表现

无论输入什么都会返回正常的处理信息或者页面无回显
能依靠自身感知到页面的延时情况

原理

前端在将数据传给后台时,设置了一个if语句
当条件为真时执行sleep语句,条件为假时无执行语句

阅读全文 »

表现

数据库在执行时,遇到语法不对,会显示报错信息,比如错误语句:select’

原理

在公司开发项目是通常程序开发期间需要告诉使用者某些报错信息,方便程序员进行调试修复,定位文件错误,而且开发中会经常使用异常处理函数,捕获错误信息,比如在PHP中使用mysql_error()函数。如果SQL注入存在时,会有报错信息返回就可以采用报错注入进行攻击啦!!!

思路

阅读全文 »

表现

在测试中不会展现任何数据库报错内容,但是网页中真和假有着不同的回显。
或者为真时返回正常页面,为假时跳转到其它页面等。

原理

在后端的PHP代码中,对你传入的数据进行了处理并判断
判断是True或False会执行不同代码

开始注入(二分法)

阅读全文 »

SQL联合注入

表现

有回显且可进行联合查询

原理

SQL中union select查询的方式将结果合在一起,并删除重复的数据。这就是联合查询。

阅读全文 »

前置知识

BurpSuite的及其拓展的安装及使用
SQLmap的下载及基本命令
了解少许PHP语言
不断尝试的热情!

相关知识

SQL注入原理

由于SQL语言是结构化查询语言(是操作数据库的语言,不懂的自己找我之前的文章)可以据库进行增、删、改、查等操作。
又因为程序员写的PHP代码不严谨,导致访问提交数据时,我们可以把代码提交到后台数据库,后台数据库处理这些数据时这些数据插入或拼接在一起形成了SQL语句命令,最后这个SQL语句可以被后台数据库作为恶意代码执行,从而达到你想达到的注入效果。

阅读全文 »

每日一记

本篇文章简要记录一下C++拷贝相关的知识以及误区。

首先上定义:
拷贝和浅拷贝是指在对对象一份复制或者复制某些部分时所表现出来的差异。

浅拷贝只复制对象的引用,由于是引用,所以当拷贝对象中的属性变化时,原始对象和拷贝对象共享这些属性的变化,也就是说,拷贝对象的属性变化会影响到原始对象的属性。因为是浅拷贝,所以拷贝的对象和原来的对象不是两个的独立存在,而是共享数据存储空间。

深拷贝则是在复制对象的指针引用的同时,完全复制一份内容相同的对象。也就是说,深度拷贝会创建一个新的对象,而不仅仅是拷贝其指针引用,因此,它们的变化互不影响。人们可以自由操作两个对象,而不会对另一个产生影响。因此,深拷贝能够完整地承载原对象所有信息。这个复制后的对象与原对象彻底分离,内存空间也不同了。

阅读全文 »

Final Verdict










这篇文章就是来吐槽musedash的!

该死的喵斯,你单单靠自己频繁的联动是注定无法长久地保存音游圈的流量的!
首先,那个该死的只能228软妹币一次性买断的曲包机制,
以及在各个平台的同一账号购买记录不互通就足够烦恼了。
然后,更难受的还得是资源封锁。
人家Phigros和Arcaea都有各自在民间广泛流传的自制谱渠道。
燃鹅你游官方不给就算了,还任由某个小团体封锁自制的资源。
甚至有考核乐理和游戏排行来决定玩家是否能够拥有写谱的资格。
对此我只能说是离谱至极!
自制铺面本应是趁兴而为。
但是,我为了导入一首I Got Smoke不得不加了三个喵斯群,一个考核群。
最后还是自己花了6个小时在互联网上找到各方零散资源,
再自行尝试修改才成功的。
如此可见,如果一个热爱喵斯而实力不强的玩家遇到这种情况,
那么将会是一盆冷水浇个透心凉!

下面的图你们自己看看吧。


这里是阿里云盘的分享链接,提取码是4qt8

下面是使用教程:
1.“下崽”并解压至没有中文的路径比如桌面(问为什么的找GPT去)
2.双击MuseDash文件夹里的那个steamclient_loader文件
3.千万不要点MuseDash这个应用程序(你爱试就逝咯)
4.如果成功运行,按Q找西瓜图标的自定义包就行了
5.如果卡了或命令行卡在下载某个zip文件那就Ctrl+C一下
6.实在不行就双击解压出来的另一个文件,选择MuseDash这个应用程序然后漫长等待。
7.上一步需要科学上网
8.如果按上面做都不行就去该博客GitHub仓库找我。

阅读全文 »

总述

网络编程,几乎所有网络的通信本质上都是通过socket模块实现。
并发编程,将串行的程序变为并发,提升代码执行的效率。
线程是计算机中可以被cpu调度的最小单元(真正在工作)。
进程是计算机资源分配的最小单元(进程为线程提供资源)。
一个进程中可以有多个线程,同一个进程中的线程可以共享此进程中的资源。

GIL

CPython解释器特有的全局解释器锁,让一个进程中同一个时刻只能有一个线程可以被CPU调用。
因为多进程的成本比多线程的成本高,所以建议计算密集型用多进程;IO密集型用多线程。
同时创建进程数建议与CPU个数相同,合理创建线程数

多线程开发

阅读全文 »

C和C++的部分差别

1.存储类

存储类定义程序中变量/函数的范围(可见性)和生命周期。
C++比较C多了mutable和thread_local类型

mutable 说明符仅适用于类的对象,
使用 thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。 

注意:
从 C++ 17 开始,auto 关键字不再是 C++ 存储类说明符,且 register 关键字被弃用。
thread_local用于C++11

阅读全文 »