1、建立社工库关于建立社工库的经验总结 iframe 2015-06-16 共149740人围观,发现28个不明物体 其他工具免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!“社工库”是运用社会工程学进行渗透测试时候积累的各方面数据的结构化数据库。环境介绍 Host:Fedora(English)(server),win8(中文)Fedora安装apache,Mysql Workbench,语言包(Fedora安装时选择)。Database:Mysql 安装在Fedora, 建库/表统一编码UTF8,修改f中的datadir=单独的一个分区,tmpdir=
2、空间足够大的空间( 16G)。Win8:安装了notepad+,Navicat。MySql配置如下:/etc/fmysqldskip-name-resolve#datadir=/var/lib/mysqldatadir=/home/data/mysql/tmpdir=/MysqlTemp/#socket=/var/lib/mysql/mysql.socksocket=/home/data/mysql/mysql.sockuser=mysqldefault-character-set=utf8max_allowed_packet=200Mnet_buffer_length=65536wait_t
3、imeout=2880000interactive_timeout=2880000symbolic-links=0mysqld_safelog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidmysqlsocket=/home/data/mysql/mysql.sockmysqldumpsocket=/home/data/mysql/mysql.sockmysqladminsocket=/home/data/mysql/mysql.sock着重修改datadir, tmpdir, socket。可能有的同学还用txtSea
4、rch,我觉得实在是有点慢,还准备篇 txt体积不超过400M的一律先转化成UTF-8编码格式(8G内存图形化可以使用Notepad+) 检查txt中是否有 (双引号) (单引号),会导致意外终止。(还有其他原因后面提到) 如果遇见分割成碎小体积的多份带有编码格式的txt,使用linux下的cat * 1.txt时会出现编码问题(这也就是为什么先执行第一条),其实windows可用type * 1.txt搞定。(注: windows下type *源文件和目标文件要保持不同目录,windows下的命令工具确实有点渣。咳) sql格式的文件,建表时检查是否有索引,删除之,导入后再建,其速度回提高不
5、少。数据导入篇 sql文件,删除key user (user) ;之类索引后,mysql执行sourcexxx.sql 导入,不用考虑编码问题,入库后直接使用workbench或nevicat编辑数据库属性转UTF8编码即可,然后再添加索引。txt文件(使用tab间隔,回车换行),select into outfile txt / bcp 可以使用mysql命令load data infile a.txt into table test.a;(默认缺省FIELDS TERMINATED BY t ENCLOSED BY ESCAPED BY ,行缺省LINES TERMINATED BY n
6、STARTING BY )txt文件(非tab的规律间隔符),可以使用操作简单的Navicat 导入。txt文件(非规律间隔符),使用py处理成有序文本,再使用Navicat 导入。上图是不规则的空格+tab,下图编写代码处理下。偶遇几个异常,统计下看看所占比例。except:count=count +1来看看处理后的结果。关于mssql转mysqlMySQL-Migration-ToolkitMssql to Access then access to MySQLBCP then Load data local infile txt into table xx;Win(mssql) cmd执
7、行bcpselect*fromdbname.dbo.infoqueryoutinfo.txt-c-x-S127.0.0.1-Usa-P123.456或者bcpdbname.dbo.infooutinfo.txt-c-x-S127.0.0.1-Usa-P123.456Fedora(MySQL)执行mysql-uroot-pusetest;Loaddatalocalinfile/home/info.txtintotablexx;EmpireBak帝国备份王apache部署EmpireBak,设置目录权限。备份数据复制到bdata目录。登陆主界面,先设置参数,连接数据库,然后选择恢复数据选择要恢复的
8、数据库。优化篇数据简化deletefromXXXXwheremailnotlike%;删除不符合邮件格式的记录deleteFROMXXXXwheremailisnullandlength(username)4;删除邮件为空并且用户名长度小于4的记录deleteFROMXXXXwherelength(password)1)asa);这是XX文章里 提到的最多的的一条语句。240W的数据处理了3个多小时才删除了19w数据。方法二createtabletmp_xxxselectmin(id)asid,mail,passwordfromxxxgroupbymail,password;同样的240w数据
9、去重不到两分钟就搞定了。(160w spend 56s )注:这条命令最容易出现的一个问题是临时空间不足,如果tmp是单独分区空间太小的话,可以修改f的tmpdir=/otherdir 。保证otherdir空间充足(16G)。修改otherdir权限,mysql可以访问修改。重启mysql。关于查询优化分清楚精确查询还是模糊查询 ,精确查询例如手机号;模糊查询例如用户名和邮箱。=比like效率高。模糊查询尽量使用string% 来代替%string% 。sql语句中能使用单引号的尽量使用单引号。如果ID和行数一样,select * from xxx where id=888;可以用selec
10、t * from xxx limit 887,1;代替(无索引时使用)。添加索引给常用查询字段添加索引,模糊类用BTREE存储类型,精确类用HASH存储类型。推荐使用Navicat 选择表打开表讯息,选择DDL选项卡,可以清楚看到该表的sql,有无索引一目了然,然后右击数据库名选择它的console功能,来快速添加索引。ALTERTABLEXXXADDINDEXinx_username(username),ADDINDEXinx_mail(mail);表类型使用MyISAMMyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持。另外MyISAM的索引和数据是分开
11、的,并且索引是有压缩的,内存使用率也就对应提高了不少。问题篇关于利用帝国备份王跨平台恢复所见问题打开本地页面,显示空白。帝国备份采用了不是完全标准的php格式()书写,用了短标记格式 ,所以针对解决办法就是配置php.ini,启动短标记格式。short_open_tag=On恢复数据时,点击开始恢复,提示参数不对确保要恢复的数据库名和备份名一样(可在备份文件目录下的config.php查看),确保备份的php源文件有读写权限或者 chgrp apache * -R 。PHP 问题Fatal error: Allowed memory size of 134217728 bytes最大单线程的独
12、立内存使用量超过了128M。修改/etc/php.ini memory_limit=512M时区错误问题修改/etc/php.ini date.timezone=Asia/Chongqingmysql默认位置修改修改/etc/php.ini mysql.default_socket=/home/data/mysql/mysql.sockIllegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT)查询的几个表之间,字符编码不统一,不能在当前页面显示。转UTF8。sql加密,hexMySQL
13、 问题ErrGot a packet bigger then max_allowed_packet bytesXX之,max_allowed_packet = 500M 但是错误依然没有解决。 (那些只知道转载的坑货)来看看错误提示,居然是一个双引号?请看准备篇第2条。MySQL server has gone awayXX之:一、可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改f,加大max_allowed_packet的值即可。(又是这一套,我#$%*)二、应用程序(PHP)长时间的执行批量的MYSQL语句,超过了mysql的
14、 wait-timeout时间。修改/etc/php.iniwait_timeout=2880000interactive_timeout=2880000但是问题还是没解决。我的实际操作过程中遇到过几次,大部分是这两种情况。使用MySQL Workbench向1700W条数据添加索引时。使用Navicat 去重时。那么使用Terminal看看。麻麻再也不用担心MySql离我而去了。SQL文件带索引导入的,要检查index是否有效。建议篇基于各种数据库层数不穷的泄露,除了密码算法要各种加强外,我们自己的密码也要既有复杂性,又有迷惑性。例如 I1O0,|/rn; 数据库和web脚本也要考虑到扩展性
15、,不同来源的表都要单独的建立一个新表。web页面上对于每张表的查询时间可帮助你精确定位。关于数据优化,我建议入库时保留regip,优化时采用如下语句来优化。selectregip,count(*)groupbyregiporderbycount(*)desc;本条语句作用,你懂得,不用谢我。然后怎么做,你也懂。实例实例一以2014-9-11国外某论坛流出来的gmail-5000000.txt文件为例。1.检查字符UTF-8,检查单双引号,既有单引号又有双引号还有波浪号。(看来国外有些人的密码意识很强)2.分隔符是: ,统计:个数比行数多好几万。明显有部分人密码中带有:。(不能简单的用Navic
16、at解决)3.简单修改py脚本替换gmail.txt第一个出现的冒号为t。嗯,一个都不能少。实例二以图为例1.分隔符采用 “-”,统计“-”个数。 (居然还有人用这个当密码?)2.navicat不能采用2位以上的分隔符。3.先建表,然后采用load data local infile方法。(别忘了转UTF8 ,当然入库转也可以)Loaddatalocalinfile/home/xx/Desktop/b14.txtintotabletnfieldsterminatedby-;what!这么多警告,来看看是什么鬼。垃圾邮箱这么多数据优化来一套:deletefromxxxwheremaillikeaaaaaa%andpasswordlike111111%;deletefromxxxwhereidin(619665,618512,615362,606705,591547,571497,514328,509353,509349,509345,509342,494415,374357,346237,281087,255543,236556,227425,226934,22391,190644,161981,160870,132437,112240,86570,14403,9667);.自己看情况脑补。以上的所有问题,全是实际操作中所遇到,如果你也遇到过,来,点个赞。 3Q
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1