做標準的安全滲透測試方案,要學什麼?
寫在前面:還沒入門的戰鬥力只有五的渣渣。。。大牛們你們看著辦吧。。
滲透測試的內容其實是一個完整的系統性的東東,內容狠多,步驟大概可以分為:情報蒐集(社工技術)——>威脅建模(針對前期獲取的資訊進行攻擊規劃)——>漏洞分析——>滲透攻擊——>後滲透攻擊 這幾個階段。
幾乎每個步驟都可以單獨作為一門學問來研究,題主說想從事滲透測試的工作,我建議你找本滲透測試的書來學習(比如說Metasploit滲透測試魔鬼訓練營,一定要不斷的練習),如果這本書看完了,練習操作了一遍,還有這份強烈的興趣那就差不多可以入門了吧
最後,我想說,其實只要是從心底裡熱愛這個領域,那就不要管是不是在這個行業裡吧!送你一句名言:
不想當駭客的司機不是好廚師!
分兩種:
如果題主的目標是做專業滲透測試人員,那麼這樣你需要很多滲透測試的基礎。
如果沒有基礎,建議看看
http://www。
zhihu。com/question/2160
6800
不然題主只要學會如何使用掃描器就好了
1。學習如何使用搜索引擎
2。養成閱讀計算機學術論文的習慣。
3。徹底吃透計算機組成原理。
4。吃透嵌入式這門課程
5。吃透Linux所有程式碼
6。吃透訊號與系統等等電子資訊相關知識,晶片網路兩手抓。
7。熟練使用C,彙編,Python,PHP, 知道他們的執行原理,編譯原理,知道各種可執行檔案的格式,連結原理,要熟練做到看一行程式碼,就能知道系統呼叫了什麼資源,記憶體是怎麼分佈的,用了什麼資料結構,反編譯出來是啥樣的,等等,從本質上了解各種意義上的shell是怎麼回事,知道各種漏洞的本質。
8。再次系統瞭解整個網路協議系統,要吃的透透的。
9。各種資料庫要拿來就用,深入瞭解他們的演算法以及原理。
10。閱讀各種網路架構程式碼,各種web相關的開原始碼,搞懂原理,其實到了這裡自己就知道自己要做什麼了。
上面講的是對於系統學的建議
如果你是小白
直接實戰是最好的方法
因為這樣能快速提高水平
理論和實際差距是特別大的
簡單分享到這裡,感興趣的可以來找我拿一些這方面的乾貨資料
參考下圖找我交流
var Global = {
// 子彈移動速度
bulletSpeed:10,
// 敵機移動速度
enemySpeed:function(type){
switch(type){
case 1:
return 5;
break;
case 2:
return 3;
break;
case 3:
return 2;
break;
};
},
// 敵機創造速度
createEnemySpeed:function(type){
switch(type){
case 1:
return 1;
break;
case 2:
return 3;
break;
case 3:
return 5;
break;
};
},
// 敵機生命
enemyHp:function(type){
switch(type){
case 1:
return 1;
break;
case 2:
return 5;
break;
case 3:
return 10;
break;
};
},
// 道具移動速度
toolSpeed:function(type){
switch(type){
case 1:
return 2;
break;
case 2:
return 3;
break;
};
},
// 道具創造速度
createToolSpeed:function(type){
switch(type){
case 1:
return 30;
break;
case 2:
return 50;
break;
};
},
// 射擊速度
shootSpeed:0。2,
// 雙倍射擊時長
doubleShootTimes:100
};
一、入門
在學習的時候,你起碼需要對常見的Hacker術語需要掌握,瞭解術語的話可以去看看這裡的百度文庫,寫的還是可以,對大多數的Hacker術語都有過渡,而且對計算機網路原理需要有著一定的基礎,所以務必要去學習一下。
二、瞭解滲透技術
瞭解完術語之後,再瞭解一些滲透技術和技巧,要本著對計算機技術研究的執著,而不是去惡意攻擊、破壞別人的系統。
三、多思考
要有自己對常見漏洞的一些見解,不僅要學攻擊技巧,也要在網際網路學會保護自己,不要讓自己的思維被現有的技術束縛住,需要自己動腦思考。
四、多動手實踐
當你看了一兩本書,對一些理論已經能理解了之後,在實戰方面你依舊還是一窮二白的,建議還是多多實踐,積累經驗,建議是邊動手邊學習,不要紙上談兵。
五、熟悉滲透工具的使用
比如:Hydra、medusa、sqlmap、AWVS、Burpsuite、Beef-XSS、Metasploit、Nessus、wireshark等安全工具,這些是在安全圈和滲透圈比較知名的滲透工具與平臺,要多多熟悉和使用。
至於看什麼書,回答裡的另一位朋友給的也夠多的了,貪多也嚼不爛。
我這裡有很多這方面的乾貨實戰資料
有需要的可以參考下圖找我交流
import java。util。Timer;
import java。util。TimerTask;
public class PumpMain {
public static void main(String[] args) {
final Logger log = Logger。getLogger(PumpMain。class);
try {
log。addAppender(new FileAppender(new PatternLayout(“[%d{yyyy/MM/dd-HH:mm:ss}]-%m%n”), “/home/geekgao/insulinPumpLog”, true));
} catch (IOException e) {
e。printStackTrace();
}
final People people = new People();
final JFrame jFrame = new JFrame(“輸入體重”);
final double[] weight = new double[1];
jFrame。setLayout(new FlowLayout());
jFrame。addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
weight[0] = 60;//關閉視窗的話,預設60公斤
super。windowClosing(e);
}
});
final JTextField textArea = new JTextField(“輸入您的體重(預設60公斤)”);
jFrame。add(textArea);
JButton jButton = new JButton(“確定”);
jFrame。add(jButton);
jButton。addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
weight[0] = Double。valueOf(textArea。getText());
jFrame。setVisible(false);
} catch (NumberFormatException e1) {
JOptionPane。showMessageDialog(null, “數字格式不對”);
}
}
});
jFrame。pack();
jFrame。setLocationRelativeTo(null);
jFrame。setResizable(false);
jFrame。setVisible(true);
while (weight[0] == 0 && jFrame。isVisible() == true) {
try {
Thread。sleep(50);
} catch (InterruptedException e) {
e。printStackTrace();
}
}
http://
log。info
(“開機,使用者體重為” + weight[0] + “Kg”);
final InsulinPump insulinPump = new InsulinPump(weight[0]);
final PumpWindow pumpWindow = new PumpWindow(insulinPump);
people。start(); //人體執行
insulinPump。start(); //胰島素泵執行
Timer timer = new Timer();
必須要掌握一門開發語言,如ruby、perl、python等。有了這些基礎之後,就可以深層次的學習滲透測試了,滲透測試的技術必須掌握的有如:web滲透、主機滲透 等等