免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

“社工库”是运用社会工程学进行渗透测试时候积累的各方面数据的结构化数据库。

环境介绍

①Host:Fedora(English)(server),win8(中文)

②Fedora安装apache,Mysql Workbench,语言包(Fedora安装时选择)。

③Database:Mysql 安装在Fedora, 建库/表统一编码UTF8,修改my.cnf中的datadir=单独的一个分区,tmpdir=空间足够大的空间( > 16G)。

④Win8:安装了notepad++,Navicat。

MySql配置如下:/etc/my.cnf[mysqld]

skip-name-resolve

#datadir=/var/lib/mysql

datadir=/home/data/mysql/

tmpdir=/MysqlTemp/

#socket=/var/lib/mysql/mysql.sock

socket=/home/data/mysql/mysql.sock

user=mysql

default-character-set = utf8

max_allowed_packet = 200M

net_buffer_length = 65536

wait_timeout = 2880000

interactive_timeout = 2880000

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql]

socket=/home/data/mysql/mysql.sock

[mysqldump]

socket=/home/data/mysql/mysql.sock

[mysqladmin]

socket=/home/data/mysql/mysql.sock

着重修改datadir, tmpdir, socket。

可能有的同学还用txtSearch,我觉得实在是有点慢,还...

准备篇

① txt体积不超过400M的一律先转化成UTF-8编码格式(8G内存图形化可以使用Notepad++)

② 检查txt中是否有 "(双引号) '(单引号),会导致意外终止。(还有其他原因后面提到)

③ 如果遇见分割成碎小体积的多份带有编码格式的txt,使用linux下的cat * > 1.txt时会出现编码问题(这也就是为什么先执行第一条),其实windows可用type * > 1.txt搞定。(注: windows下type *源文件和目标文件要保持不同目录,windows下的命令工具确实有点渣。咳~)

④ sql格式的文件,建表时检查是否有索引,删除之,导入后再建,其速度回提高不少。

数据导入篇

①sql文件,删除key `user`  (user) ;之类索引后,mysql执行source xxx.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' STARTING BY '')

③txt文件(非tab的规律间隔符),可以使用操作简单的Navicat 导入。

④txt文件(非规律间隔符),使用py处理成有序文本,再使用Navicat 导入。

上图是不规则的空格+tab,下图编写代码处理下。

偶遇几个异常,统计下看看所占比例。

except:

count=count +1

来看看处理后的结果。

⑤关于mssql转mysql

㈠MySQL-Migration-Toolkit

㈡Mssql to Access     then     access to MySQL

㈢BCP    then    Load data local infile txt into table xx;

Win(mssql) cmd执行bcp "select * from dbname.dbo.info" queryout info.txt  -c -x -S127.0.0.1 -Usa -P123.456      或者

bcp dbname.dbo.info out info.txt  -c -x -S127.0.0.1 -Usa -P123.456

Fedora(MySQL)执行mysql -u root -p

use test;

Load data local infile "/home/info.txt" into table xx;

⑥EmpireBak帝国备份王

apache部署EmpireBak,设置目录权限。备份数据复制到bdata目录。登陆主界面,先设置参数,连接数据库,然后选择恢复数据选择要恢复的数据库。

优化篇

①数据简化delete from `XXXX` where mail not like "%@%";

删除不符合邮件格式的记录

delete FROM `XXXX` where mail is null and length(username)<4;

删除邮件为空并且用户名长度小于4的记录

delete FROM `XXXX` where length(password)<4;

删除密码长度小于4的记录

delete from `xxxx` where mail is null and password=username;

......

②数据去重

方法一delete from `xxx` where id in (select * from (SELECT  min(id) FROM `xxx` group by mail having count(mail)>1) as a);

这是百度文章里 提到的最多的的一条语句。240W的数据处理了3个多小时才删除了19w数据。

方法二create table tmp_xxx select min(id) as id,mail,password from xxx group by mail,password;

同样的240w数据去重不到两分钟就搞定了。(160w spend 56s )

注:这条命令最容易出现的一个问题是临时空间不足,如果tmp是单独分区空间太小的话,可以修改my.cnf的tmpdir=/otherdir 。保证otherdir空间充足(>16G)。修改otherdir权限,mysql可以访问修改。重启mysql。

③关于查询优化

㈠分清楚精确查询还是模糊查询 ,精确查询例如手机号;模糊查询例如用户名和邮箱。=比like效率高。

㈡模糊查询尽量使用'string%' 来代替'%string%' 。

㈢sql语句中能使用单引号的尽量使用单引号。

㈣如果ID和行数一样,select * from xxx where id=888;可以用select * from xxx limit 887,1;代替(无索引时使用)。

④添加索引

给常用查询字段添加索引,模糊类用BTREE存储类型,精确类用HASH存储类型。

推荐使用Navicat 选择表打开表讯息,选择DDL选项卡,可以清楚看到该表的sql,有无索引一目了然,然后右击数据库名选择它的console功能,来快速添加索引。ALTER TABLE `XXX`

ADD INDEX `inx_username` (`username`) ,

ADD INDEX `inx_mail` (`mail`) ;

⑤表类型使用MyISAM

MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持。另外MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率也就对应提高了不少。

问题篇

①关于利用帝国备份王跨平台恢复所见问题

㈠打开本地页面,显示空白。

帝国备份采用了不是完全标准的php格式(<?php … ?>)书写,用了短标记格式…?> ,所以针对解决办法就是配置php.ini,启动短标记格式。short_open_tag = On

㈡恢复数据时,点击开始恢复,提示参数不对

确保要恢复的数据库名和备份名一样(可在备份文件目录下的config.php查看),确保备份的php源文件有读写权限或者 chgrp apache *  -R 。

②PHP 问题

㈠Fatal error: Allowed memory size of 134217728 bytes

最大单线程的独立内存使用量超过了128M。修改/etc/php.inimemory_limit=512M

㈡时区错误问题

修改/etc/php.inidate.timezone = Asia/Chongqing

㈢mysql默认位置修改

修改/etc/php.inimysql.default_socket = /home/data/mysql/mysql.sock

㈣Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT)

查询的几个表之间,字符编码不统一,不能在当前页面显示。转UTF8。

③sql 加密, hex

④MySQL 问题

㈠[Err]Got a packet bigger then 'max_allowed_packet' bytes

百度之,max_allowed_packet = 500M 但是错误依然没有解决。 (那些只知道转载的坑货)

来看看错误提示,居然是一个双引号?     请看准备篇第2条。

㈡MySQL server has gone away

百度之:一、可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可。(又是这一套,我#$%*~)

二、应用程序(PHP)长时间的执行批量的MYSQL语句,超过了mysql的 wait-timeout时间。

修改/etc/php.iniwait_timeout=2880000

interactive_timeout = 2880000

但是问题还是没解决。我的实际操作过程中遇到过几次,大部分是这两种情况。

Α使用MySQL Workbench向1700W条数据添加索引时。

Β使用Navicat 去重时。

那么使用Terminal 看看。

麻麻再也不用担心MySql离我而去了。

㈢SQL文件带索引导入的,要检查index是否有效。

建议篇

①基于各种数据库层数不穷的泄露,除了密码算法要各种加强外,我们自己的密码也要既有复杂性,又有迷惑性。例如  I1O0'",|/\r\n;

②数据库和web脚本也要考虑到扩展性,不同来源的表都要单独的建立一个新表。

③web页面上对于每张表的查询时间可帮助你精确定位。

④关于数据优化,我建议入库时保留regip,优化时采用如下语句来优化。select regip,count(*) group by regip order by count(*) desc;

本条语句作用,你懂得,不用谢我。然后怎么做,你也懂。

实例

实例一

以2014-9-11国外某论坛流出来的gmail-5000000.txt文件为例。

1.检查字符UTF-8,检查单双引号,既有单引号又有双引号还有波浪号。(看来国外有些人的密码意识很强)

2.分隔符是":" ,统计":"个数比行数多好几万。明显有部分人密码中带有":"。(不能简单的用Navicat解决)

3.简单修改py脚本替换gmail.txt第一个出现的冒号为\t。

嗯,一个都不能少。

实例二

以图为例

1.分隔符采用 “----”,统计“----”个数。 (居然还有人用这个当密码?)

2.navicat不能采用2位以上的分隔符。

3.先建表,然后采用load data local infile方法。(别忘了转UTF8 ,当然入库转也可以)

Load data local infile `/home/xx/Desktop/b14.txt' into table `tn` fields terminated by '----';

what!这么多警告,来看看是什么鬼。

垃圾邮箱这么多...

数据优化来一套:delete from xxx where mail like 'aaaaaa%' and password like '111111%';

delete from xxx where id in(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

*作者:iframe,本文属FreeBuf原创奖励计划,未经许可禁止转载

jumbo 安装mysql,关于建立社工库的经验总结相关推荐

  1. 社工库html页面,建立社工库

    ⑤关于mssql转mysql ㈠MySQL-Migration-Toolkit ㈡Mssql to Access then access to MySQL ㈢BCP then Load data lo ...

  2. mysql java 社工库_社工库源码

    我接触的第一个社工库源码是Bamaba的源码 一个Asp+Sqlserver的源码 很简陋 大概就是这个界面 13年前后的大多数社工库都是这个源码改的 包括第一代QQ群查询 asp+sqlserver ...

  3. mysql java 社工库_社工库源码搜集

    我接触的第一个社工库源码是Bamaba的源码 一个Asp+Sqlserver的源码 很简陋 大概就是这个界面 13年前后的大多数社工库都是这个源码改的 包括第一代QQ群查询 asp+sqlserver ...

  4. 社工库365开网站公开售卖盗取的账号信息

    如今网上盗号猖獗,个人信息泄露严重. 社工库365开网站公开售卖盗取的账号信息,我测试了下,的确可以查询到密码信息.包括很早以前注册的账号,163.126都沦陷了,密码的md5值都暴露出来了. 过了2 ...

  5. 社工库网址与制作方法

    将互联网泄露的信息汇聚成数据库,简单说:黑客数据库. 中国执行信息公开网 http://zxgk.court.gov.cn/?dt_dapp=1 全国标准信息公共服务平台 http://std.sam ...

  6. 实战无成本搭建php社工库,简单、高效、几T数据随便查,高效社工库搭建与数据库整理–深夜福利...

    !!!!!! \static\css\bootstrap.min.php   一句话... 谢谢@5407-dllk 提出  因为这个不是我写的 我也没注意看里面的东西 而我自己也一直在内网环境下用 ...

  7. 互联网黑市分析:社工库的传说

    (本文转自微信公众号:tomsinsight,已获 TOMsInsight 授权.) 任何一个行业都是一个江湖,有江湖就有故事,追名逐利的人喜欢被写入故事,踏实做事的人却希望被隐匿.久而久之,江湖上的 ...

  8. 网安:haveibeenpwned(社工库)查看信息是否被泄露

    网安:haveibeenpwned(社工库)查看信息是否被泄露 Have I Been Pwned: Check if your email has been compromised in a dat ...

  9. 社工库最新免费机器人分享

    谷歌机器人 http://t.me/GoogleSGKbot?start=7nmw46bwm HELLA world ​​​​​​http://t.me/sgk2023_03_30bot?start= ...

最新文章

  1. 总结vue中父向子,子向父以及兄弟之间通信的几种方式
  2. [专栏目录]-环境搭建安装问题笔记目录
  3. 手机版python配置_appium+python 连接手机设备的yaml配置文件
  4. 学习笔记:AC自动机
  5. 曾比海底捞还牛,如今关店1200家!肯德基的猪队友,快被中国人抛弃了?
  6. ImportError: cannot import name main
  7. 如何设计一个大数据实时分析平台
  8. linux转发邮件,转发Linux服务器上的传入邮件?
  9. 三维重建_彩色图和深度图转点云文件、ply和pcd相互转换、点云合并
  10. Mac 百度云加速下载,突破限速,大文件无压力(小白使用无压力)
  11. IDEA 方法自动添加注释
  12. mysql如何源码安装_MySQL源码安装
  13. xplay6android降级,xplay6 7.0降级6.0卡刷包
  14. 1218 正方形还是圆形
  15. 2019杭电多校Problem 5 Snowy Smile题解
  16. linux新建用户和目录权限设置密码,用户创建及权限管理
  17. python 开机自动切换必应壁纸
  18. 解决a start job is running for dev-disk-by启动错误
  19. 面试部分梳理 - 计算机网络
  20. 大图数据管理与分析技术(综述)

热门文章

  1. Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found
  2. 【Rollo的Python之路】Python 多进程 学习笔记 multiprocessing
  3. 【LeetCode】7. Reverse Integer
  4. mysqli_fetch_row,mysqli_fetch_array,mysqli_fetch_assoc区别
  5. 0923-网络 文件上传
  6. 点击头像显示大图Dialog
  7. 05-if和switch的简单比较
  8. [安卓应用发布]HOLO一键锁屏
  9. js indexOf()
  10. 一个老程序员对数据库的一点纠结